Arduino IDE 2.0.1 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!

Use Enter as Serial Monitor keyboard send trigger

arduino/arduino-ide#1402, arduino/arduino-ide#572

Messages can be sent to the Arduino board via Serial Monitor. In Arduino IDE 1.x, this has always been done by pressing the Enter key. Previously, the Arduino IDE 2.x Serial Monitor required Ctrl+Enter instead. Users found this unintuitive, inconvenient, and inconsistent.

The trigger has now been changed to the standard Enter. Ctrl+Enter continues to work for any who have grown accustomed to the different trigger.

(Thanks @geertvw)

Fix incomplete autoscroll in Serial Monitor

arduino/arduino-ide#1446, arduino/arduino-ide#972

Previously, the Serial Monitor autoscroll only made the bottom line partially visible.

(Thanks @weshowe)

Add message history to Serial Monitor

arduino/arduino-ide#1562, arduino/arduino-ide#1404

Messages can be sent to the Arduino board via the input field in Serial Monitor. Previously sent messages can now be loaded into the field by pressing the and keys.

(Thanks @skippyuk)

Support all specified delimiters in Serial Plotter input

arduino/arduino-ide#1516, arduino/arduino-serial-plotter-webapp#12, arduino/arduino-serial-plotter-webapp#16, arduino/arduino-serial-plotter-webapp#8, arduino/arduino-serial-plotter-webapp#13, arduino/arduino-serial-plotter-webapp#15

Previously, only a limited and inconsistent subset of the field and record delimiters allowed by the Arduino IDE 1.x Serial Plotter were supported.

Give Serial Plotter window focus when selected from IDE

arduino/arduino-ide#1410, arduino/arduino-ide#1346

The Serial Plotter has its own dedicated window. This window is opened when the button on the IDE toolbar is clicked or Tools > Serial Plotter selected.

Previously, after the window was already open, either of these actions had no effect. This could give the user the impression that the plotter was not opening if they didn't remember they had opened it previously.

The existing window is now given focus when Serial Plotter is selected in the main Arduino IDE window.

(Thanks @sjonnyc)

Remove minimum height of bottom panel

arduino/arduino-ide#1517, arduino/arduino-ide#308

Previously, an arbitrary minimum height was imposed on the bottom panel that contains the "Serial Monitor" and "Output" views. This required it to occupy a significant amount of the IDE window when open in cases where the window dimensions where small.

The user can now size the bottom panel according to their preferences.

Fix clipping of parts of UI at smaller relative window dimension

arduino/arduino-ide#1517, arduino/arduino-ide#1515

When the Arduino IDE window was sized to a small dimension, and the interface scale increased, some of the UI components could be clipped, making the IDE difficult to use under these conditions.

Fix intellisense widgets being covered by the bottom panel

arduino/arduino-ide#1479

Arduino IDE 2.x has an autocomplete functionality. While writing code, the user can select from a list of completions generated by the IDE. Previously, if the line of code being written was located near the bottom panel of the IDE window, this menu was truncated at the margin rather than overlapping over the panel.

Always show controls on Boards and Library Manager entries

arduino/arduino-ide#1568, arduino/arduino-ide#1575, arduino/arduino-ide#1455, arduino/arduino-ide#1403, arduino/arduino-ide#1425

Previously, the version menu and "INSTALL" button appeared when the mouse pointer was hovered over an entry in Boards Manager or Library Manager. This behavior was identified as a frequent cause of bugs and unpleasant user experiences, as well as not conducive to accessibility.

The controls are now always shown on the Boards and Library Manager entries.

(Thanks @JimEli)

Sort official libraries and platforms at top of Library/Boards Manager

arduino/arduino-ide#1541, arduino/arduino-ide#1106

In addition to the huge number of 3rd party libraries and boards platforms contributed by the Arduino community, Arduino maintains a collection of libraries and platforms.

In order to make them easy to find, these are now listed at the top of the listings in Boards Manager and Library Manager, as done in Arduino IDE 1.x.

Only download package indexes after change to "Additional Boards Manager URLs" preference

arduino/arduino-ide#1418, arduino/arduino-ide#1156

After the user adds a new URL to the "Additional Boards Manager URLs" preference, the IDE must download the package index file from the provided URL in order to update the entries in Boards Manager.

Previously, the Library Manager index was also downloaded at this time unnecessarily. Due to the large number of Arduino libraries, that index is quite large and so avoiding downloading it makes the index download process faster.

Don't download indexes on startup if downloaded recently

arduino/arduino-ide#1418

Previously, the indexes used by Boards Manager and Library Manager were downloaded on every startup. In cases where the IDE had been started recently, this was unnecessary. The download will now be skipped if the last download was more recent than 4 hours.

Support http://boardsmanager and http://librarymanager links in sketch comments

arduino/arduino-ide#1481, arduino/arduino-ide#1442

Arduino IDE 1.x supports the opening of Boards Manager or Library Manager with a search query loaded by clicking a link with a special form in a comment in the sketch:

https://arduino.github.io/arduino-cli/latest/sketch-specification/#libraryboards-manager-links

Support for these links has been added to Arduino IDE 2.x.

In addition, the feature has been enhanced:

  • The "Type" filter is set according to the first component of the URL path.
  • For Library Manager links, the "Topic" filter is set according to the second component of the URL path.

Fix IDE lagging when sketch has very long line

arduino/arduino-ide#1450, arduino/arduino-ide#1343

In cases where sketches contain automatically generated data such as images, lines of code may contain huge numbers of characters.

Previously, opening such a sketch would make the IDE UI laggy or even unresponsive. These sketches can now be used in the IDE without any performance problems.

(Thanks @andrewashe)

Create sketchbook folder on startup if missing

arduino/arduino-ide#1448, arduino/arduino-ide#1445

Previously, after a first install, the user was unable to adjust preferences until they had manually created or set a sketchbook folder.

The IDE will now automatically create the folder if it does not already exist.

Allow translation of all IDE UI text

arduino/arduino-ide#1449, arduino/arduino-ide#1431

Thanks to the valuable translation work from the community, the Arduino IDE interface is now localized to 17 languages. Previously, some menu items and other UI components could not be translated and so remained in the default English language despite full translation coverage for that language.

Update translations

arduino/arduino-ide#1449, arduino/arduino-ide#1496

The community work to make Arduino IDE accessible to everyone in the world continues, attaining high coverage levels for several languages.

In addition to the ongoing work on the languages present in previous versions of Arduino IDE 2.x, the following languages have been added:

  • Bulgarian
  • Hungarian
  • Korean
  • Polish
  • Russian
  • Turkish
  • Ukrainian

If you would like to contribute to the Arduino IDE translations, please see the information here:

https://github.com/arduino/arduino-ide/blob/main/docs/contributor-guide/translation.md#translator-guide

Sort board menus according to order specified by platform author

arduino/arduino-ide#1520, arduino/arduino-ide#802

Previously, the boards were sorted in alphabetical order under the Tools > Board submenus. It sometimes makes sense to place boards into logical groupings or order by importance. For this reason, the boards platform author is now given control over the order of the boards, as was already done in Arduino IDE 1.x.

Allow uploads without a port selection

arduino/arduino-ide#1564, arduino/arduino-ide#770

Some Arduino boards do not produce a port and their upload method has no need for one. Previously, the upload button was disabled when no port was selected in the IDE. It was necessary for the users of these boards to select an arbitrary port unrelated to the board as a workaround in order to be able to upload.

A port selection is no longer required to initiate an upload process. In cases where a port is required, the problem will be communicated to the user by error messages shown in the notification and output.

Allow customization of default sketch

arduino/arduino-ide#1559, arduino/arduino-ide#

When a new sketch is created, Arduino IDE populates it with the bare minimum empty setup and loop functions.

Some users may wish to adjust this code. That is now possible by specifying the path to a file containing the custom content in the advanced settings:

  1. Press the Ctrl+Shift+P keyboard shortcut (Command+Shift+P for macOS users) to open the "Command Palette".
  2. Select the "Preferences: Open Settings (UI)" command from the menu.
  3. A "Preferences" tab will now open in the IDE. In the "Search Settings" field, type arduino.sketch.inoBlueprint
  4. Add the path to the file containing your custom new sketch content in the field under the "Sketch: Ino Blueprint" setting.
  5. Click the X icon on the "Preferences" tab.
  6. Select File > Quit from the Arduino IDE menus.
  7. Start the Arduino IDE.

(Thanks @dougp)

Communicate problem to user when attempting to open an invalid sketch via file association

arduino/arduino-ide#1563, arduino/arduino-ide#964

In order to be valid, an Arduino sketch must contain a file with name matching the folder. Users who are not aware of this fact might try to place sketch files in folders of arbitrary names.

Previously, when opening such an invalid sketch via file association was attempted, it failed silently, with the IDE simply opened as it would have with no sketch argument.

The IDE now clearly communicates the problem to the user and offers to move the file to an appropriately named folder.

Fix spurious "Unable to watch for file changes in this large workspace" warnings

arduino/arduino-ide#1409, arduino/arduino-ide#39

Previously, the IDE would occasionally show an "Unable to watch for file changes in this large workspace" warning notification which had no significance.

Fix missing port label in Board Selector menu

arduino/arduino-ide#1412, arduino/arduino-ide#1383

Under certain conditions, the port label (e.g., "COM42") was not shown in addition to the board name in the "Board Selector" menu on the IDE toolbar.

Show "Configure And Upload" dialog again on next attempt after failed upload

arduino/arduino-ide#1415, arduino/arduino-ide#1386

It may sometimes be necessary for the user to provide additional information to the IDE in order to do an upload. For example, the password for doing an authenticated OTA upload. The IDE shows a dialog to gather this information from the user.

For the sake of convenience, that information is cached. If the information is not correct, the upload may fail. The IDE now shows the dialog again on the next upload to allow the user to update the information.

Move primary button to the right side of dialogs

arduino/arduino-ide#1382, arduino/arduino-ide#1368

For the sake of consistency, the primary button is now always placed rightmost in the custom Arduino IDE dialogs (as is the custom on Linux and macOS).

Buttons on native dialogs continue to be placed according to conventions of the user's operating system.

Fix spurious IDE update notifications when using snapshot or nightly builds

arduino/arduino-ide#1492, arduino/arduino-ide#1440

Previously, users of the recent nightly or tester builds would receive "update" notifications for Arduino IDE 2.0.0, even though the version in use was newer than 2.0.0.

Fix manual update check failing when automatic update checks are disabled

arduino/arduino-ide#1490, arduino/arduino-ide#1437

The user can manually trigger a check for an available Arduino IDE update by selecting Help > Check for Arduino IDE Updates from the IDE menus. Previously, this failed if the user had disabled automatic update checks in the advanced settings.

(Thanks @sterretje)

Give dialog controls focus on open

arduino/arduino-ide#1472, arduino/arduino-ide#1373

When a dialog is opened, the controls should be given focus so the user can immediately operate them via the keyboard. Previously, this was not done in some of the IDE dialogs.

Fix silent failure when attempting to open deleted sketch from menus

arduino/arduino-ide#1333, arduino/arduino-ide#53

The IDE lists sketches in the File > Examples and File Sketchbook menus. If the user deletes a sketch externally while the IDE is running, it is possible for sketches to be listed in the menus which don't actually exist. Previously, attempting to open such a sketch would fail silently, not communicating the problem to the user.

Update built-in example sketch formatting for IDE 2.x auto format

arduino/arduino-ide#1519, arduino/arduino-ide#58

The change to a new code formatting tool in Arduino IDE 2.x resulted in some changes to the code style produced by the IDE's Edit > Auto Format feature.

The example sketches accessed via the File > Examples > Built-in examples section of the IDE menus have been reformatted to align with this code style.

Fix formatting of editor hover

arduino/arduino-ide#1504, arduino/arduino-ide#1503

When the user hovers the mouse pointer over a code component in the IDE editor, a "hover" appears which shows information about that code. This information is separated into sections with horizontal rules.

Previously, the spacing of the horizontal rules relative to the text was incorrect.


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


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

1 Like

8c65ezLEi

2 posts were split to a new topic: IDE 2.0.1 Auto Formatting problem

I am pleased... it was worth the wait.

Besides terminating my biggest pet peeve on the serial monitor, I love the unix-like "up arrow" recall feature on the serial monitor. I know I can use a Cadillac terminal program, but sometimes all you need is a VW Mini-bus to get ya where you're headed.

  • Wes

Some great updates but:
Reveal error and ctrl-click error doesn't work - errors not underlined
Cannot open multiple instances of IDE by double clicking sketches in windows explorer

Hi @mazellan. Thanks for your report.

Are you able to reproduce the problem with any sketch that produces a compilation error, or does it only occur with specific code?

For example, does it occur with this sketch?:

void setup() {
  foobarbaz;
}
void loop() {}

You can see here that it is working as expected for me:

Which board do you have selected in the Arduino IDE?

Thanks so much for bringing this bug to our attention! I am able to reproduce it and have submitted a formal report to the developers on your behalf:

If you have a GitHub account, you can subscribe to that issue to get notifications of any new developments related to this subject.

Sorry, my problem with reveal error was user error - I hadn't realized you can't do anything with the error until you press the control key, also I may have confused the line 'error' which is ctrl clickable with the line 'note' which is not.

Another issue I have is the library for IRRemote 3.9.0 - the IDE suggests I install 3.9 every time I start it up. If I press install it says 3.9 already installed. Maybe the fact that this library has a hpp file confuses it?

This is a known bug that is caused by having multiple copies of the library installed:

The workaround is to uninstall the library. This should remove the duplicate installation, leaving you with only a single copy of the library installed. I'll provide instructions:

  1. Select Sketch > Include Library > Manage Libraries... from the Arduino IDE menus to open the "Library Manager" view in the left side panel.
  2. In the "Filter your search" field, type irremote
  3. Scroll down through the list of libraries until you see the "IRRemote by shirriff, z3t0, ArminJo" entry.
  4. You will see an "INSTALLED" label near the top right corner of the library entry. Hover the mouse pointer over that label.
  5. The label will now turn into an "UNINSTALL" button. Click that button.
  6. You will now get an "Uninstall" dialog asking whether you want to uninstall the library. Click the "YES" button.:
  7. Wait for the uninstall process to finish.

Errors after updating to 2.0.1 error updating libraries seems to have stopped attempting to update after errors and is stuck...

Hi @fluxanode1 Does the problem still occur if you try again now?

This type of problem might be caused by a transient network outage. These usually resolve themselves after a matter of minutes; hours at worst. If so in this case, I would expect you would no longer experience the problem now.

yes after several restarts the issue cleared up.

Thanks

Thanks for the update. I'm glad it is working now.

Regards,
Per

6 posts were split to a new topic: Pls, do not change the places of comments in Auto Format

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.