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/#ide-download-section
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!
Highlights
- Fix spurious platform and library installation failures due to download timeout
- Avoid compilation failure for sketches with UTF-8 BOM encoding
Fix spurious platform and library installation failures due to download timeout
arduino/arduino-ide#2862, arduino/arduino-cli#3076, arduino/arduino-cli#3013
When an Arduino boards platform is installed via Boards Manager, or a library installed via Library Manager, files are downloaded from the Internet.
A timeout system is in place to allow Arduino IDE to recover from the situation where a download attempt hangs for some reason. Previously, this timeout system was incorrectly implemented in a way that caused it to impose a hard 60 second time limit for each download. Since some of the files of boards platform installation are quite large, this caused installations to fail spuriously for users who didn't have a high speed Internet connection. The same problem could also occur during installations of especially large libraries by users with slower Internet connections.
The timeout system has now been corrected so that it will only trigger in the case of long periods without progress during the download operations.
Avoid compilation failure for sketches with UTF-8 BOM encoding
arduino/arduino-ide#2862, arduino/arduino-cli#2983, arduino/arduino-cli#3015
Some editors add a "byte order mark" (BOM) to the start of content. Previously, if this character was present in a sketch code file, it would cause compilation to fail:
C:\Users\per\Documents\Arduino\Foo\Foo.ino:1:1: error: stray '\357' in program
/* test */
^
C:\Users\per\Documents\Arduino\Foo\Foo.ino:1:2: error: stray '\273' in program
/* test */
^
C:\Users\per\Documents\Arduino\Foo\Foo.ino:1:3: error: stray '\277' in program
/* test */
^
This cryptic error was difficult for users to troubleshoot since it was caused by an invisible character.
BOM characters are now removed from sketch code files before they are passed to the C++ compiler, avoiding the compilation failure.
Add support for native Windows ARM tool builds
arduino/arduino-ide#2862, arduino/arduino-cli#3035
Arduino IDE utilizes various helper tools when performing operations such as compilation and uploading. Builds of these tools are provided for each host architecture, and Arduino IDE automatically installs the appropriate build for your PC.
Thanks to the Prism emulator, x86 executables can be used on Windows ARM machines. However, the best performance will be obtained from using native builds. Arduino IDE now supports the automatic installation of native Windows ARM builds of tool dependencies if available. It will fall back to installing x86 builds if the tool maintainer has not published Windows ARM builds.
Adjust "Blink" example comments to avoid assumption of on-board LED circuit configuration
arduino/arduino-ide#2869, arduino/arduino-examples#94
The Arduino IDE installation includes a collection of "built-in" examples, which are accessible via the File > Examples menu.
Previously, the comments in the "Blink" example assumed an active high circuit. This meant the comments were incorrect when used with a board that has an active low circuit.
Those comments have been reworded so that they will be equally correct for all boards.
(Thanks @FrankSchmidt)
Fix inappropriate compilation cache use after platform update
arduino/arduino-ide#2862, arduino/arduino-cli#3042
For the sake of efficiency, Arduino IDE caches the objects produced by a sketch compilation and reuses those for subsequent compilations when appropriate. It is important that components of the sketch program be recompiled from source when the sources have changed since the cache was established.
Previously, it was possible that the cache might be inappropriately used under certain conditions after the update of an Arduino boards platform. Such a reuse could cause unexpected results.
Update Arduino CLI dependency to 1.4.1
Much of the non-GUI functionality of Arduino IDE comes from the Arduino CLI tool.
In order to benefit from the ongoing development work in the Arduino CLI project, Arduino IDE has been updated to using Arduino CLI version 1.4.1.
Expand and improve translations
arduino/arduino-ide#2840, arduino/arduino-ide#2862, arduino/arduino-cli#2978, arduino/arduino-cli#3065
The community work to make Arduino IDE accessible to everyone in the world through localization of the text of the IDE's UI continues, reaching high coverage levels for 18 languages/locales.
If you would like to contribute to the Arduino IDE translations, please see the information here:
Full changelog here:
https://github.com/arduino/arduino-ide/releases/tag/2.3.8
If you have any questions or feedback please post here in the dedicated forum category for Arduino IDE 2.x:
https://forum.arduino.cc/c/software/ide-2-x/93
If you want to see the list of known issues, work in progress, submit a formal report, or contribute to development, the Arduino IDE 2.x source code is hosted in this public repository:
