Eclipse Target Communication Framework 1.3.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Release

1.3.0

Description

TCF 1.3 is a minor release (no breaking API changes) delivered with Eclipse Mars. The release is focused on quality, as well as improved support for C++11 and ADA debugging. The Terminals View is restructured into the Target Management project and now picked up from there.

API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues

A number of new adopters have chosen TCF this year and confirmed the excellent architectural quality of the TCF debugger. Architectural issues are the same as in previous releases:

  • The fully asynchronous nature of the TCF debugger is sometimes at odds with the synchronous nature of the Eclipse Platform / Debug model. Removing the few remaining blocking synchronous API's in Platform / Debug has been suggested as cure for this problem. See bug 423205 for background and details.
  • The TCF Target Explorer offers a broad range of public (API) classes, making it hard to understand the big picture and how to adapt it. For Terminal, this has been improved by restructuring code into the TM project. For Target Explorer, more work is needed to ease adoption.

 

Security Issues

TCF connections use a plaintext protocol based on JSON by default, but can optionally be routed over SSL ports or tunneled through other communication channels (like SSH). A TCF server that runs with root privileges will provide root access to the target by default. Using a firewall is therefore recommendet to protect access to the TCF server ports.

Non-Code Aspects

A growing number of adopters reports success building a debugger based on TCF. While the existing "Getting Started", "Porting Guide" and "API Docs" are good, there is also continued demand on more documentation and examples.

Usability Details

Commercial adopters confirm excellent usability of the TCF software. For plain Open Source users, some requests on the mailing list indicate confusion around end-to-end workflows. This will be addressed with more user-facing documentation (Tutorials, videos).

End of Life
  • The TCF Java API is no longer tested with Java 6.
  • TCF agents older than version 0.4  are no longer supported in this release.

There are plans to stop supporting Eclipse Platform 3.x in the upcoming TCF 1.4 release.

 

Standards
  • The SSL support uses X.509 certificates.
  • Data structures are transferred using JSON encoding.
  • Python code has been formatted using the latest PEP8 recommendations.

 

Communities

The TCF Communities continue to grow as shown by requests on the mailing list. Especially the Terminal Marketplace Listing has generated significant interest from users, as well as feedback and contributions.

Main interest of adopters is building their own debuggers using TCF building blocks, as well as getting commercial grade Eclipse integration for existing debuggers. In this respect, the well-designed TCF APIs are considered stronger than DSF, which remains very focused on GDB.

 

This release is part of Mars