Build Notes for TM @buildId@
@dateLong@

New and Noteworthy
  • TM @buildId@ requires Eclipse 3.3M6 or later. Platform Runtime is the minimum requirement for core RSE and Terminal. Discovery needs EMF, and the Remotecdt integration needs CDT.
  • Added a milestone update site for TM 2.0 milestone builds at http://download.eclipse.org/dsdp/tm/updates/milestones. In case any critical updates are announced on the dsdp-tm-dev mailing list, "Check for updates" will automatically get the patches from there [175241].
  • Digital Signing of plugins has been re-enabled now that the Platform issues with it are fixed. All TM stuff on the update sites is digitally signed with the Eclipse certificate.
  • Added Import/Export to downloadable builds - User Actions needs to be deferred to after TM 2.0 [170909].
  • Added a Telnet Subsystem. It can be activated by selecting the new system type "Telnet Only (Experimental)". The telnet subsystem is currently still experimental because of problems when passing invalid credentials, or opening multiple telnet shells simultaneously. [178201].
  • Added ability to show translatable property set names [188284].
  • Fixed automatic creation of Mnemonics, added a Policy API to allow products configure the policy for mnemonic generation [178768] [187860].
  • At least 2 API changes and 13 bugs were fixed: use this query to show the list of bugs fixed since the last milestone, TM 2.0M7 [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 2.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

An important part of the Target Management 2.0 Project Plan is to harden the APIs which were provisional by RSE 1.0. Naturally, this requires API changes, and especially moving lots of classes which we cannot guarantee to support in the future into internal packages.

As of TM 2.0 M6, most of this work has been completed, and the list of breaking API changes is found below with migration info. But although we had planned for API freeze with M6, there are still few more cleanup changes that we would like to take the opportunity and bring into TM 2.0. Most of these will be made shortly after M6, or they will be introduced in a backward compatible manner. At any rate, we will avoid breaking API changes after M7, or the earlierst possible integration build up to M7. 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 for TM 2.0.

Use this query to show the list of API changes planned or done after M6. All such API changes are 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 RSE 1.0.1 - 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
    • Moved RSESystemTypeAdapter.createNewHostInstance() to IRSESystemType.createNewHostInstance(). This was necessary in order to support moving SystemHostPool from UI to Core, which is a blocking prerequisite for future enhanced UI/Non-UI separation. Migration: Extenders of RSESystemTypeAdapter will need to change their code [176211].
  • TM 2.0M7 Breaking API Changes
    • Moved some more classes, like the dstore miners, ISubSystemConfigurationAdapter, or Terminal API classes (which have been marked provisional). These changes can simply be picked up by running "organize imports" on client code [180649] [186748] [186134].
    • Moved the subsystemConfigurations and keystoreProviders extension points to org.eclipse.rse.core in order to better support UI/non-UI separation [186523] [186525].
    • Removed the remoteSystemsViewPreferencesActions and dynamicPopupMenuExtensions extension points since the same can now be achieved with standard org.eclipse.ui extension points [185552] [185554].
    • Fixed incorrect usage of IRSESystemType.getAdapter(). This change is important to consider manually since it does not break the build - see the bug entry for details [186779].
    • Made IRemoteFileSubSystem forward exceptions rather than handling itself by opening dialogs [183824].
    • Unify Singleton Access Methods to use getInstance() in most cases in order to achieve better API consistency [177523].
    • Added IProgressMonitor parameter to all long-running IRemoteFileSubSystem methods. Clients need to pass in a NullProgressMonitor in all these methods now. Moved the IProgressMonitor parameter last in all methods for consistency. [184322] [186128].
    • Use IRSESystemType instead of String systemTypeName everywhere - this is the prerequisite for allowing system type labels to be translated [180688].
    • Move SysteRegistry's Event Interface to non-UI and split ISystemRegistryUI from ISystemRegistry - See the bug entries for migration docs [168975] [186773].
    • Dont implement interfaces just for Constants - See the bug entry for migration docs [183165].
  • TM 2.0M6a Breaking API Changes
    • Making more classes "internal": Lots of more packages and classes were tagged as discouraged access (moved to "internal"). For migration, just "Organize Imports" and search for alternative ways of doing things in case you end up with imports from "internal" packages. For details, see [170922].
    • Refactored IConnectorService and moved to Core for beter UI / Non-UI separation. Most notably, the concept of a CredentialsProvider was added. That work is not quite complete yet, but the bulk of the work has been done. For detailed migration info, see [168977].
    • Renamed getAdapter(Object) -> getViewAdapter(Object) on several classes. For migration, same renaming may need to be done in client code. [175150].
    • Dont implement constant interfaces just to bring constants into namespace. As an effect of this, some classes that clients can derive from do not "see" some constants any more. For migration, these constants will need to be qualified with the interface that they come from. For details, see [180562].
    • Streams are now part of IFileService and IRemoteFileSubSystem. Supporting Streams was important for the EFS integration and is a more modern and flexible way to download and upload. Thus Streams are now mandatory, and extenders must ensure that they implement getInputStream() and getOutputStrem() properly in their own file services and subsystems. [162954] and [179850].
    • IHost.getSystemType() now returns an IRSESystemType instead of a String. More similar changes will follow, in order to move from system type Strings to IDs and translatable / externalizable labels. For migration, client code can replace getSystemType() by getSystemType().getName(). [175262].
    • Support Menu Configuration in RSESystemTypeAdapter [161195].
    • The RSE Communications Daemon has been removed since it was never quite properly supported in Open Source [180602].
    • The org.eclipse.rse.logging plugin has been removed, functionality is now in the core and UI plugins, respectively [170920].
  • TM 2.0M5 Breaking API Changes
    • Modified Extension Point subsystemConfigurations to reference system types by ID rather than by name. Client code needs to use the systemTypeIds tag now rather than systemTypes [162081].
    • Removed Extension Points for Popup Menus and Property Pages: The RSE-specific extension points org.eclipse.rse.ui.propertyPages and org.eclipse.rse.ui.popupMenus were removed because newer Eclipse versions have all required functionality in the base extension points already. Example code, tutorials and ISV docs were updated and have the required information for how to migrate to the new extension points. [172651].
    • Moved extension point org.eclipse.rse.ui.archiveHandlers to org.eclipse.rse.services.archiveHandlers [173871].
    • newConnectionWizards: The old newConnectionWizardDelegates extension point has been replaced by a new newConnectionWizards extension point for more flexibility [173772].
    • Deep Filtering: The SystemView now supports Context Information for queries of multiple filters to the same remote elements. That is, the SystemViewElementAdapter.getChildren() method can know the filer context in which a query is made. This is necessary in order to properly support "deep filtering" by file types. An API change was required to get this implemented: Existing code needs to change two method signatures in classes deriving from AbstractSystemViewAdapter. For details, see [170627].
    • Making classes internal: Many classes have been made internal, and PDE support for generating warnings of discourage access has been enabled. Client code should not have used the classes which are now internal anyways; but if you do, just running "organize imports" should make your code compile again. For details, see [170922].
Use this query to show the full list of API changes since RSE 1.0.1.
Known Problems and Workarounds
The following critical or major bugs are currently known. We'll strive to fix these as soon as possible.
  • bug 187301 - maj - [telnet] Telnet does not allow multiple shells
  • bug 187732 - maj - [refresh] Refresh on file renamed/deleted outside RSE on Local doesn't work
Use this query for an up-to-date list of major or critical bugs.

The TM 2.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.