Eclipse CDT (C/C++ Development Tooling) 9.0.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

9.0.0

Description

CDT 9.0.0 is a major release that ships with the Neon simultaneous release.  It fixes bugs and brings new features which are listed in the corresponding CDT New&Noteworthy page.  This is the first major release of the CDT project since June 2011.  Consequently, and after warning extenders over a year in advance, major cleanup was done to remove deprecated APIs and components.  Details of API-breaking changes can be found here.  Of particular importance is the removal of the CDI framework for debugger integration; it has been replace many years ago with the DSF framework also provided by the CDT.

Two additional components that while used by the CDT aren't functionally part of CDT is the Launch Bar and the Templates Engine. The Launch Bar has a number of API changes for this, it's 2.0 release, to support more flexible launch targets. The Templates Engine is new and supports new file and project content using the Freemarker template engine.

API Certification

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

Architectural Issues

The CDT Debug Integration framework, CDI, has been removed. It has not been maintained for many years. Integrators must now use the Debug Services Framework, DSF, or program to the Eclipse Platform Debug APIs directly as TCF does.

After years of struggling with the CDT managed build system to integrate with external managed build systems such as qmake and cmake, a new build system has been constructed. It is much lighter weight and gives the integrator full control of the build process will maintaining core CDT features such as parsing and error reporting. As it matures, it might become functional enough to replace the existing managed build system, or at least support it as a layer above.

CDT no longer depends on RSE.  Instead, the newer, more maintained org.eclipse.remote plugin is used for CDT remote debugging.

Security Issues

We are not aware of any security issues.

 

Non-Code Aspects

Not much improvement on the documentation front although some commits have targeted documentation.

Once again, CDT was represented at EclipseCon and the presentations made available to the general community.

To support the Arduino plug-ins, a Marketplace entry has been made and a how-to video has been produced.

Usability Details

The Launch Bar is a major innovation in user experience intended to simply the Eclipse Launch framework. This will be useful to CDT users launching their projects on remote devices. Exemplary use of this exists for the Arduino plug-ins. The Qt plug-ins are also set up to use this though remote launching currently is not enabled.

Standards

CDT continues to expand it's support for C++ standards as they evolve. C++ 14 is mostly there and support for C++ 17 has begun.

Communities

Our committers continue their involvement with 3 new committers added this year.  An effort is being put to improve the responsiveness towards contributions from the developer community.

Some greater efforts have been seen to answer user questions on the forum and on StackOverflow.

For the third year in a row, a CDT Summit was held at EclipseCon NA with 6 committers and 12 non-committers attending.

For a second year in a row, a second CDT Summit, this one in Ottawa, will be held in September.

This release is part of Neon