Eclipse Target Communication Framework 1.3.0
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.
The project leadership certifies that the APIs in this release are "Eclipse Quality".
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.
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.
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.
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).
- 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.
- The SSL support uses X.509 certificates.
- Data structures are transferred using JSON encoding.
- Python code has been formatted using the latest PEP8 recommendations.
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.