Jump to: navigation, search

TCF/DraftPlan16

< TCF

TCF 1.6 DRAFT plan

NOTE: This is a DRAFT plan and none of the items below are committed.

See also previous TCF/DraftPlan15, TCF/NewIn15 | project management: TCF on the Eclipse PMI


Compatibility

TCF 1.6 is planned to release with Photon/Simultaneous_Release_Plan on June 27, 2018. An earlier release is possible if requested by the communities; then Eclipse Photon would come with TCF 1.7.

At any rate, we will keep API's compatible:

  • TCF protocol must remain 100% compatible with TCF 1.5 (it's part of the TCF value proposition)
  • TCF Java API must remain 100% binary compatible with TCF 1.5 (we have clients coding against it)
  • TCF Python and C API should remain 100% compatible (we have clients but this is source compatibility so they can rebuild or use version checks)
  • All API Additions must be tagged with @since 1.6 comments.

Operating Environments

  • Java 8 may become the Bundle-RequiredExecutionEnvironment for Java code, because
    • bug 518104 Tycho-1.0 requires Java 8 for building, since Tycho/Release_Notes/0.25#Other
    • Java 7 is EOL
    • Bottomine: There are no plans breaking Java 7 compatibility, but the build and test automation may no longer run on Java 7.
  • We want to continue being compatible with Eclipse 4.4.2 Luna SR2, since Luna is the last Eclipse release supported on CentOS 5 hosts and is still used in some organizations.
    • New features may depend on newer Eclipse Platform or CDT Capabilities; in such cases, those features will be coded in a way that the rest of TCF can still run on Luna, but the new capability will obviously only be available on the newer Eclipse.
    • Support for older Eclipse Platform (Kepler, 3.8.2) will continue on a "best effort" basis but will not be committed.
  • bug 518103 Get rid of RXTX / gnu.io dependencies
    • RXTX was used by the Serial Terminal, which was moved into the TM project long ago.
    • As per tcf-1.5, there is only an "Optional import-package gnu.io" left in o.e.tcf.te.ui.controls without any obvious use in the code. Cleaning up dependencies, we want to get rid of this in the Docs, the MANIFEST.MF and the build dependencies in tcf-1.6.
  • To be discussed:
    • Do we need any test job using Java 7 ?
    • Do we still need a test job against Eclipse 3.8.2 + CDT 8.3 ? - Note that CDT 8.4 only supports Eclipse 4.x

Obsoleted / Deprecated Functionality

  • Java 7 support will likely be deprecated.

Proposed Themes

As with the past releases, outstanding quality and robustness is the primary concern of the TCF project. This shall be supported through continued investment in the DWARF reader, architecture coverage and test automation.

Beyond that, the themes below only list current priorities that we want to focus on.

Improve Getting Started and API Documentation

Interested Parties: TBD

  • We want to make it easier for 3rd parties to understand, and code against the TCF API's.
    • API Docs shall be brought back in sync with the Code
      • Tools shall be investigated for auto-generating more of the docs (potentially based on the Python bindings)
    • This shall be supported by providing simple examples for commonly needed functionality.
    • We also want to provide Tutorials / Videos that showcase the TCF / Target Explorer functionality as available from Eclipse.

Make the The TCF Python Binding more complete

Interested Parties: TBD

  • We want to add TCF APIs to the Python binding, which are currently only available in the Java and C bindings
  • We want to add sample python programs that everage TCF Python API