Arduino IDE 2.0.3 is now available

If you are using a recent version of the IDE, you will get an auto-update offer simply by starting the IDE.

Otherwise, the release is available for download here:

https://www.arduino.cc/en/software


This release provides some nice advancements and fixes.

Thanks so much to the forum community for all the valuable testing and feedback that has helped us greatly in identifying and investigating these bugs and enhancements!

Fix garbage data periodically sent to board by Serial Monitor

bugst/go-serial#147, arduino/serial-monitor#31, arduino/arduino-ide#375

Previously, garbage data was sent to the connected Arduino board at ~1 Hz while Serial Monitor was open.

Note: This fix was applied to the serial-monitor tool, so will have even taken effect in previous versions of Arduino IDE 2.x as serial-monitor is automatically updated.

(Thanks @stleuch)

Fix garbage data sent to board on settings change

arduino/arduino-ide#1703, arduino/arduino-ide#375

Previously, garbage data was sent to the connected Arduino board when settings (e.g., "Toggle Timestamp") were changed in Arduino IDE.

(Thanks @jarboer)

Fix garbage data printed in Serial Monitor after upload

arduino/serial-monitor#32, arduino/arduino-ide#927

Previously, garbage data was printed in the Serial Monitor after uploading to the connected Arduino board.

Note: This fix was applied to the serial-monitor tool, so will have even taken effect in previous versions of Arduino IDE 2.x as serial-monitor is automatically updated.

(Thanks @weshowe)

Select primary sketch file by default when opening sketch

arduino/arduino-ide#1676, arduino/arduino-ide#643

Arduino sketches may consist of multiple files, which are shown in the Arduino IDE as tabs. The .ino files of the sketch are concatenated before being compiled, starting with the file with name matching the sketch name. The tags are ordered according to the concatenation order. For this reason, it is most logical for the leftmost tab to be selected by default when opening a sketch.

Previously, Arduino IDE instead selected the rightmost tab.

Update the debugger

arduino/arduino-ide#1706, arduino/arduino-ide#246

Arduino IDE's integrated sketch debugger is provided by the free open source Cortex-Debug VS Code extension.

The extension dependency was updated from version 0.3.10 to 1.5.1.

:exclamation: Required change to debug_custom.json for J-Link users on Windows

Some additional configuration is required in order to use a J-Link debug probe with the Arduino IDE integrated sketch debugger.

Windows users may need to make a slight adjustment to the debug_custom.json configuration files in their sketches when updating to Arduino IDE 2.0.3.

Click to see instructions

If you have set the serverpath field in debug_custom.json to point to the path of JLinkGDBServer.exe, for example:

{
  "servertype": "jlink",
  "device": "ATSAMD21G18",
  "interface": "SWD",
  "serverpath": "C:/Program Files/SEGGER/JLink/JLinkGDBServer"
}

starting the debugger will now fail with the notification:

Failed to launch undefined GDB Server: Timeout.

The fix is to change the configuration to point to JLinkGDBServerCL.exe instead, for example:

{
  "servertype": "jlink",
  "device": "ATSAMD21G18",
  "interface": "SWD",
  "serverpath": "C:/Program Files/SEGGER/JLink/JLinkGDBServerCL"
}

Fix failure to start debugger when watch expression set

arduino/arduino-ide#1582

Previously, if a watch expression had been set in the Arduino IDE integrated sketch debugger before starting the debugger, the debugger failed to start, with the IDE showing an error notification:

Request 4 cancelled on connection close

(Thanks @apfreak, @hgycap)

Fix watched variable values not updating

arduino/arduino-ide#412

Previously, if a watch expression had been set in the Arduino IDE integrated sketch debugger before starting the debugger, the value shown in the "WATCH" section of the "DEBUG" panel would not update as the sketch ran.

Fix error on disconnect after stopping debugger

arduino/arduino-ide#995

Previously, an error that occurred when stopping the Arduino IDE integrated sketch debugger caused it to fail to re-start.

Fix macOS keyboard shortcuts for switching tabs

arduino/arduino-ide#1686, arduino/arduino-ide#1685

Previously, it was impossible for macOS users to use the keyboard to change focus to a different tab in the Arduino IDE editor and bottom panel.

Update Theia IDE framework

arduino/arduino-ide#1662

Arduino IDE 2.x is built on the free open source Eclipse Theia IDE framework. This dependency was updated from version 1.25.0 to 1.31.1.

The update fixed multiple known bugs in Arduino IDE 2.x:

Allow creation of remote sketch via File menu whenever authenticated

arduino/arduino-ide#1717, arduino/arduino-ide#1715

Arduino IDE offers an integration with the Arduino Cloud sketchbook. In addition to pulling existing sketches from Arduino Cloud for local use, and pushing changes back to Arduino Cloud, it is possible to create new "remote sketches" in Arduino IDE. One of the ways to do that is selecting File > New Remote Sketch from the Arduino IDE menus.

Previously, this menu item had no effect if the user hadn't opened the "Remote Sketchbook" in the Arduino IDE Sketchbook panel first.


Full changelog here:
https://github.com/arduino/arduino-ide/releases/tag/2.0.3


If you have any questions or feedback please post here in the Arduino IDE 2.x's dedicated forum category:

https://forum.arduino.cc/c/software/arduino-ide-2-0-beta/93

If you want to see the list of known issues, work in progress, submit a formal report, or contribute to development, the IDE 2.x source code is hosted in this public repository:

https://github.com/arduino/arduino-ide

I have two extensions in .arduinoIDE, a theme and "Printcode".

Printcode is picked up, and works just fine, but the theme extension is ignored. This is obviously part of the new Theia framework. Any new requirements for theme extensions, I need it?

Sure would be nice if ther was a link to the release notes in the blue "Download Options" for the 2.x software like there is for the 1.8.X software below it.

i.e. have the text "Release Notes" in the blue box link to:

Surely this can't be that big of deal to create & update that each time there is a release.

--- bill

Hi @bperrybap. I actually submitted a proposal for this very thing only yesterday (in a private repository so I can't provide a usable link). I'll make sure to share an update with you on the relevant issue in the Arduino IDE repository as soon as I know more:

Hi @Willem43. I am able to reproduce this. I bisected it and, as you guessed, it was a regression introduced by the update of the Theia dependency.

I tested it with the version of the Theia demonstration application: Blueprint that uses the same Theia version as Arduino IDE 2.0.3 and found that the manually installed VS Code theme extensions still work just fine in Blueprint. So it seems this regression is related to something specific to the Arduino IDE codebase rather than a regression/breaking change in Theia itself.

Would you mind submitting a bug report about this to the Arduino IDE issue tracker on GitHub?

https://github.com/arduino/arduino-ide/issues/new/choose

Nothing I know of. Unfortunately I'm not aware of any workaround for this issue other than continuing to use Arduino IDE 2.0.2 (download links are listed in the "Assets" section of this page)

@ptillisch Thanks for checking.

I have submitted bug report #1742 here.

1 Like

Thank You for supporting Apple Silicone. I was wait it so long time!

1 Like

You probably mean silicon unless, that is, Apple have substantially expanded its product range in recent times.

1 Like

Just noticed, do not know how I missed it, that the currently selected options in Tools are now displayed in the dropdown. It was not in my previous 20221208 nightly but is in 20221211

This is great, thanks guys.

Yeah, that is really an important advancement in the UI! Most especially so for the boards that heavily leverage these options such as DrAzzy's ATTinyCore boards.

The change was made here:

what's wrong with my Arduino IDE,there's nothing in the "Preferences" dialog.

Hi @sunzhongmeng. Does the "Preferences" dialog eventually get populated if you wait some time?

Yes it is.

Hello,

I am currently using the Arduino IDE 2.0.3 and just now I noticed that there might be a small bug in the software. I wanted to save a project and clicked on "Save as". In contrast to usual I have selected thismsl an existing project, which I wanted to overwrite. It came then also the dialogue, that the project already exits and I would like to overwrite it. But when I clicked on Yes nothing happened, also no error message.

Annoyingly it could become, if one closes a new project and then with the inquiry whether one wants to store the project, also an existing project selects, then nothing would be stored.

Hello,
Would it be possible to have the IDE check that a device is connected and selected before it compiles instead of compiling and then telling me that "Failed uploading: no upload port provided"

Hi @simonnomis. Thanks for your suggestion. Arduino IDE 2.x actually did work somewhat like this during the beta development phase. But the developers didn't consider that not all Arduino boards use a port so this design actually made the IDE incompatible with some boards.

Even if it is a little inconvenient, I don't think it is a problem you will experience often. Arduino IDE caches the compilation, so even though you must run the compilation a second time after selecting the port, the duration of that second compilation will be fairly short.