Skip to content

Commit

Permalink
Migrate New and Noteworthy from Wiki to GitHub
Browse files Browse the repository at this point in the history
This commit migrates all the N&N content from
https://wiki.eclipse.org/CDT/User/NewInCDT to GitHub.

For newer releases (>= CDT 10.0) the entire content has
been rewritten in GitHub flavour Markdown. For older
releases, the N&N page has simply been saved in a
rendered format.
  • Loading branch information
jonahgraham committed Oct 1, 2022
1 parent e5fde4a commit 88c93f2
Show file tree
Hide file tree
Showing 399 changed files with 16,644 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,11 @@ yarn.lock text
*.icns binary
*.ico binary
*.jpg binary
*.JPG binary
*.jpeg binary
*.png binary
*.PNG binary
*.svg binary
*.xpm binary

# Java/Eclipse
Expand Down
169 changes: 169 additions & 0 deletions NewAndNoteworthy/CDT-10.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# Release

This is the New & Noteworthy page for CDT 10.0 which is part of Eclipse 2020-09 Simultaneous Release

## Java 11 or later required to run CDT

Starting with CDT 10.0 Java 11 or later is required to run CDT.
This align with requirements of Eclipse IDE which also requires Java 11 to run starting in 2020-09.
See [Bug 562494](https://bugs.eclipse.org/bugs/show_bug.cgi?id=562494).

## CDT's native components built on CI/docker

For many years CDT required advanced knowledge to rebuild the native components of CDT (e.g.
process spawning, pty and serial port handling).
This is now buildable from any platform that docker can run and integrated into the builds.
The .dll/.so files are still checked into CDT's git repo so that each developer does not have to build it locally.
The "check code cleanliness" scripts verify that the dll/so files checked in match the source.
See [Bug 521515](https://bugs.eclipse.org/bugs/show_bug.cgi?id=521515).

## Builds for Linux AArch64 (aka Arm64) added

Binaries for Linux AArch64 (Arm64) are available for testing.
With the raising popularity of this architecture people can continue using the Eclipse IDE even when changing their machine.
See [Bug 565836](https://bugs.eclipse.org/bugs/show_bug.cgi?id=565836).

## Arduino specific plug-ins removed

The source code for Arduino (org.eclipse.cdt.arduino.\*) is no longer part of CDT and is not receiving any updates.
Please consider using The Arduino Eclipse IDE and plug-ins named [Sloeber](https://marketplace.eclipse.org/node/2637354) for your future Eclipse CDT powered Arduino development.
See [Bug 562498](https://bugs.eclipse.org/bugs/show_bug.cgi?id=562498).

## XLC, LRParser and UPC removed

XLC, LRParser and UPC removed components of CDT have been removed.
See [Bug 559474](https://bugs.eclipse.org/bugs/show_bug.cgi?id=559474).

## Two changes in how CDT treats environment variables

On windows Imported environment variables in CDT are no longer uppercased (except for the path variable).
All environment variables inside CDT are now treated case sensitive on all supported os'es.

Secondly using \${ "to not resolve" functionality has been removed

For implementation details see

Handle environment variables more consistent and avoid uppercasing in windows.
See [Bug 564123](https://bugs.eclipse.org/bugs/show_bug.cgi?id=564123).

managed build's "expand env.
variable refs in Makefiles" eats \ in ${envVar1}\${enVar2}.
See [Bug 560330](https://bugs.eclipse.org/bugs/show_bug.cgi?id=560330).

# Code Analysis

## Nodiscard checker

Added new 'no discard' checker.
See [Bug 534420 ](https://bugs.eclipse.org/bugs/show_bug.cgi?id=534420).

# Parser

## Deduction guides

Parser support has been added for C++17 constructor template deduction guide.
See [Bug 541239](https://bugs.eclipse.org/bugs/show_bug.cgi?id=541239).

<p align="center"><img src="images/CDT-10.0-CTAD.jpg" width="50%"></p>

# Build

## Tool-chain integration

Options of value type "libs" and "userObjs" now respect the ApplicabilityCalculator and the CommandGenerator settings.
If these settings are set on your custom tool-chain integration, please make sure that the integration still works as intended after an upgrade.

## Docker support using Windows

When using Windows, mounting file system paths and Docker volumes is now possible, again.
See [Bug 538147 ](https://bugs.eclipse.org/bugs/show_bug.cgi?id=538147)

# Debug

## Launch Group removed

The Launch Group, previously marked as deprecated, has been removed from CDT.
The Launch Group was moved to the Eclipse Platform and substantially enhanced many years ago.
See [Bug 517813](https://bugs.eclipse.org/bugs/show_bug.cgi?id=517813).

# Terminal

## Terminal Serial Connection support arbitrary baud rates

Connections using the serial terminal now support arbitrary baud rates, choose from a drop-down of common and widely supported speeds, or type a custom value if connected hardware supports it.
See [Bug 543122](https://bugs.eclipse.org/bugs/show_bug.cgi?id=543122).

## Support for 4, 8 and 24-bit color in Terminal

The terminal now supports escape sequences for 4, 8 and 24-bit color.
See the [Wikipedia article](https://en.wikipedia.org/wiki/ANSI_escape_code) for some general details or [Bug 540737 Description](https://bugs.eclipse.org/bugs/show_bug.cgi?id=540737#c0) for a little script to demo the feature.
See [Bug 540737](https://bugs.eclipse.org/bugs/show_bug.cgi?id=540737) and [Bug 549697](https://bugs.eclipse.org/bugs/show_bug.cgi?id=549697).

<p align="center"><img src="images/CDT-10.0-new_terminal_colors.png" width="50%"></p>

## Editing Color palette (including better dark theme support)

The color palette of the terminal can now be edited.
This allows users to change foreground and background colors as well as the colors used in the 4-bit color palette.
The defaults used for foreground and background will be automatically set based on use of the Dark or Light themes in Eclipse.
See [Bug 549697](https://bugs.eclipse.org/bugs/show_bug.cgi?id=549697).

<p align="center"><img src="images/CDT-10.0-new_terminal_colors_pref.png" width="50%"></p>

# API modifications

## CDT 10.0.1 Reverted some new API added in CDT 10.0.0

Classes org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeductionGuide and org.eclipse.cdt.core.dom.ast.cpp.ICPPASTParameterListOwner which were added for CDT 10.0.0 have been removed in CDT 10.0.1.
See [Bug 567261](https://bugs.eclipse.org/bugs/show_bug.cgi?id=567261)

## API Deletions and Deprecations

Please see the [CDT Policy](https://wiki.eclipse.org/CDT/policy#Deprecating_and_Deleting_API) on Deprecating and Deleting API for more details of API that has been changed, removed, deprecated or scheduled for removal.
In addition, the current version of the Deprecation and Removals can be previewed [here](https://htmlpreview.github.io/?https://raw.githubusercontent.com/eclipse-cdt/cdt/blob/main/doc/org.eclipse.cdt.doc.isv/guide/deprecated_API_removals.html)

## [SerialPort](../native/org.eclipse.cdt.native.serial/src/org/eclipse/cdt/serial/SerialPort.java) supports arbitrary baud rates

The [SerialPort](../native/org.eclipse.cdt.native.serial/src/org/eclipse/cdt/serial/SerialPort.java) class now supports arbitrary baud rates with the new setBaudRateValue/getBaudRateValue which take/return an int.
See [Bug 543122](https://bugs.eclipse.org/bugs/show_bug.cgi?id=543122).

## Class creation wizard

The [NewClassCreationWizardPage](../core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewClassCreationWizardPage.java) class now supports final option.
See [Bug 561770](https://bugs.eclipse.org/bugs/show_bug.cgi?id=561770).

## Terminal Control Embedding

In order to better support color palettes and deeper color depths in the terminal, new API could be added for the terminal control.
For example TerminalColorsFieldEditor is currently internal, but allows consumers of the terminal API to maintain their own color preferences.
Please raise a bug to request TerminalColorsFieldEditor become API if desired.

## Windows environment variables are no longer uppercased

This change is not literally an api change but will impact your code if you automatically import environment variables on windows or when you use OS environment variables.
This because, even though the methods remain the same, the implementation on windows has changed.
Except for the PATH environment that is still uppercased on windows there is no more os specific handling of os environment variables.

## environment variables no longer support \${ to avoid expanding

This change is not literally an api change but will impact your code if you used \${ to not expand environment variables.
It may impact your code if you import environment variables and had to workaround path\${childPath} resolving to path${childPath}.

# Known Issues with Java 15 Compatibility

## Java 15 generates an error on startup with CDT 10.0.0 (Fixed with CDT 10.0.1)

The recently released Java 15 causes a startup error when running with Java 15.
This error "An internal error occurred during: Load QML Analyzer" can be safely ignored.
Uninstalling the CDT Qt plug-ins will remove the error, as will using Java versions before Java 15.
See [Bug 562494](https://bugs.eclipse.org/bugs/show_bug.cgi?id=562494).

## QML file editor does not work with Java 15 in CDT 10.0

Editing files with QML extension (Part of Qt) in Java 15 will cause the UI to freeze.
Please use Java 14 or earlier if editing QML files in CDT's QML Editor.
See [Bug 562494](https://bugs.eclipse.org/bugs/show_bug.cgi?id=562494).

# Bugs Fixed in this Release

See Bugzilla report [Bugs Fixed in CDT 10.0](https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=10.0.0&target_milestone=10.0.1)
85 changes: 85 additions & 0 deletions NewAndNoteworthy/CDT-10.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Release Notes and New & Noteworthy page

This is the New & Noteworthy page for CDT 10.1 which is part of Eclipse 2020-12 Simultaneous Release

# Release Notes

## Dark Mode all black dialogs window in Eclipse 2020-12

The 2020-12 release of the Eclipse C/C++ and Eclipse Embedded C/C++ package contains an error that causes black text on black background in most dialogs. This can be resolved by either updating the Trace Compass Plug-ins in the install or removing the Trace Compass plug-ins if not used. To update the plug-ins do this:

- From Window menu -> choose Preferences
- navigate to Install/Update -> Available Software Sites
- Press Add...
- Name `Tracecompass updates` and Location `https://download.eclipse.org/tracecompass/stable/repository/`
- Press Add
- Press Apply and Close
- From Help menu -> Check for Updates and finish the wizard.
- After restarting the Dark Mode will be fixed.

See also [Bug 569790](http://eclip.se/569790)

## Update index and views with active configuration by default

The default preference controlling which configuration the index uses along with the affected views has been changed to use the active configuration instead of a fixed configuration. The new default should be less confusing for users as an initial setting but might not be suitable for all projects.
See the [CDT User FAQ](https://wiki.eclipse.org/CDT/User/FAQ#The_index_is_rebuilt_every_time_the_active_configuration_is_changed_and_it_takes_too_long) for instructions on how to change this preference.

CDT extenders can also customize products using plugin_customization.ini, with
org.eclipse.cdt.core/cprojectdescription.configRelations=1 (1 for "fixed", 2 for "active")
See also [Bug 329995](http://eclip.se/329995) and [cdt-dev](https://www.eclipse.org/lists/cdt-dev/msg34697.html).

# Parser

## \_\_has_include

Parser support has been added for C++17 \_\_has_include as well as the language extension \_\_has_include_next. See [Bug 566918](https://bugs.eclipse.org/bugs/show_bug.cgi?id=566918).

# Build

## Visual Studio 2017 and 2019

Support for detecting the Microsoft Visual C++ toolchain part of Visual Studio 2017 and 2019 has been added. Support for earlier versions has been removed. This support is still considered experimental since many basic features are missing for this CDT toolchain. See [Bug 567169](https://bugs.eclipse.org/bugs/show_bug.cgi?id=567169).

## New build console actions

The CDT build console has two new actions in its toolbar:

- Action to close the build console page.
- Action to enable/disable bringing the console to top on build output. The action toggles the already existing preference under Preferences -> C/C++ -> Build -> Console -> "Bring console to top when building (if present)".
See:

<p align="center"><img src="images/CDT-10.1-Console_actions.png" width="50%"></p>

See also [Bug 486033](https://bugs.eclipse.org/bugs/show_bug.cgi?id=486033) and [Bug 568926](https://bugs.eclipse.org/bugs/show_bug.cgi?id=568926).

# Debug

## External refresh of DSF data model

Some GDB commands have side effects that are not trivial for DSF to handle properly. One command that is known to have unpredictable side effects is `load` that is used in JTAG debugging. With the changes in [Bug 568228](https://bugs.eclipse.org/bugs/show_bug.cgi?id=568228), the last step of the JTAG launch sequence will now tell the UI to drop any cached data and refresh everything from the lower layers to ensure the proper state is shown in the UI.

For DSF extenders; if the UI is out of sync with the current target state, the AbstractMIControl#flushAllCachesAndRefresh(RequestMontitor) might help out to trigger a refresh for the UI models.

# Terminal

## Activity for Terminal main toolbar contributions

A new activity, `org.eclipse.tm.terminal.view.ui.activity.maintoolbar`, can now be used to disable main toolbar contributions of the Terminal plug-ins. Currently there is only one such contribution, a toolbar button to launch a terminal. See [Bug 568923](https://bugs.eclipse.org/bugs/show_bug.cgi?id=568923).

Disabling the activity (and so hiding the TM terminal main toolbar button) can now be done e.g. with a product customization file containing the line:

`org.eclipse.ui.workbench/UIActivities.org.eclipse.tm.terminal.view.ui.activity.maintoolbar=false`

The product customization file is specified to Eclipse arguments with:

`-pluginCustomization /some/path/plugin_customization.ini`

# API modifications

## org.eclipse.cdt.managedbuilder.ui

org.eclipse.cdt.managedbuilder.ui.properties.ICustomBuildOptionEditor2 is a new interface for creating custom build option editors. The new interface extends org.eclipse.cdt.managedbuilder.ui.properties.ICustomBuildOptionEditor with the possibility to let the editor be in control of how the value is to be saved. In a future CDT release, these 2 interfaces will be merged to one. See [Bug 569300](https://bugs.eclipse.org/bugs/show_bug.cgi?id=569300)

# Bugs Fixed in this Release

See Bugzilla report [Bugs Fixed in CDT 10.1](https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=10.1.0)
71 changes: 71 additions & 0 deletions NewAndNoteworthy/CDT-10.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Release Notes and New & Noteworthy page

This is the New & Noteworthy page for CDT 10.2 which is part of Eclipse 2021-03 Simultaneous Release

# Release Notes

# Java 16 unsupported

Java 16 is unsupported in CDT 10.2 and before.
CDT 10.3 is intending to support Java 16.
See [572250](Bug)(https://bugs.eclipse.org/bugs/show_bug.cgi?id=572250).

## CDT Standalone debugger part of main download

The CDT standalone debugger is no longer provided as a separate download.
Please See [Standalone Debugger on Wiki](https://wiki.eclipse.org/CDT/StandaloneDebugger) and download the Eclipse C/C++ IDE from [main downloads site](https://www.eclipse.org/downloads/).

# Build

## Headless builder accepts "-help" without workspace

In order to help the users to view the "-help" display without defining a workspace, a new bundle has been created in order to avoid the automatic start of the resources bundles.
The new bundle, that only contains a small wrapper class, is called ''org.eclipse.cdt.managedbuilder.headlessbuilderapp''.
See also [Bug 571566](http://eclip.se/571566).

## One failed build configuration fails build with headless builder

Until recently, if a single build configuration in the set of build configurations to build had an error marker, the exit code of the headless builder would only be 1 if that configuration was built last.
In CDT 10.2, this has changed so that regardless of the build order, the failed build configuration will still have the headless builder application exit with a non-zero exit code.
See also [Bug 571458](http://eclip.se/571458).

## Only the CDT builders are invoked when running the headless builder

Until recently, depending on how the headless builder was invoked would affect whether just CDT or other builders would run when using headless build.
In CDT 10.2, this has changed so that regardless the command line options used only the CDT builders are invoked.
See also [Bug 571458](http://eclip.se/571458).

# Terminal

## Invert colors in current terminal

Sometimes, e.g.
when connecting to a remote system, the prompt string
makes assumptions on the colour scheme that result in an almost unreadable
terminal.

The terminal has a preference setting to invert the background colour.
Now a new entry in the pop-up menu allows a user to temporarily modify the setting.

See [bug 570775](https://eclip.se/570775).

<p align="center"><img src="images/CDT-10.2-Terminal-invert-colours.png" width="50%"></p>

## Rename Terminal Tab

The name in the tab can be changed, either with ANSI escape codes (such as `echo -e "\033]0;TITLE\007"`) or by right-clicking and choosing Rename Terminal.
See [bug 341721](https://eclip.se/341721).

<p align="center"><img src="images/CDT-10.2-Rename.png" width="50%"></p>

# API modifications

## ManagedCommandLineGenerator

The old internal class `org.eclipse.cdt.managedbuilder.internal.core.ManagedCommandLineGenerator` is used by CDT consumers as if it is API.
To reduce the number of warnings/errors for CDT consumers, the class has now been replaced by `org.eclipse.cdt.managedbuilder.core.ManagedCommandLineGenerator` that contains a proper API.
See also [Bug 571433](http://eclip.se/571433).

# Bugs Fixed in this Release

See Bugzilla report [Bugs Fixed in CDT 10.2](https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=10.2.0)
Loading

0 comments on commit 88c93f2

Please sign in to comment.