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 bug that caused sketch recompile to sometimes be skipped inappropriately
- Add command to clear compilation cache
Fix inappropriate sketch compilation cache reuse
arduino/arduino-ide#2920, arduino/arduino-cli#3206, arduino/arduino-cli#3202
When you compile a sketch in Arduino IDE, the compiled objects are cached. On subsequent "Verify/Compile" operations, these objects are reused instead of recompiling those source code components when appropriate. This significantly reduces the duration of a compilation.
Previously, under specific conditions, the cached object from the .ino files of the sketch were reused even when the source code had been modified since the time the cache was established. This caused the sketch program behavior to not reflect the source code as it was at the time of the "Verify/Compile" operation.
The determination of when the sketch .ino files should be recompiled has now been fixed and the cache will now always be used only in the case where no modifications have been made since.
Support forcing recompilation
When you compile a sketch in Arduino IDE, the compiled objects are cached. On subsequent "Verify/Compile" operations, these objects are reused instead of recompiling those source code components when appropriate. The use of the cache significantly reduces the duration of a compilation.
The sketch build system is designed to automatically recompile source code if changes have been made since the time the cache was established. So there is no need for the user to manage the cache, or even be aware of the existence of the caching system. However, in rare instances where something is wrong with the cache (e.g., the files were corrupted somehow), it may be necessary for the user to force a full recompile. Additionally, advanced users sometimes wish to perform a full recompile for obscure reasons.
It is now possible to trigger a full recompile via any of the following methods:
- Holding the Shift key when clicking the "Verify" button on the Arduino IDE toolbar.
- Pressing the Ctrl+Shift+R keyboard shortcut (Command+Shift+R).
Support precompiled library binary path configuration
arduino/arduino-ide#2920, arduino/arduino-cli#3199
In addition to the traditional compilation from source code, the Arduino library framework also supports precompiled libraries. In order to utilize this feature, the library developer must place the compiled objects for a given target under a specific subfolder in the library.
The sketch build system determines the path of the compiled objects by parsing the compilation command. For certain boards platforms, that approach might not be suitable. For this reason, support has been added for platform developers to use an alternative approach of defining the relevant precompiled binary path components via platform properties:
https://arduino.github.io/arduino-cli/latest/library-specification/#precompiled-binaries
Fix incorrect display of platform install script status messages
arduino/arduino-ide#2920, arduino/arduino-cli#3194, arduino/arduino-cli#3176
An Arduino boards platform may require the performance of operations on install or uninstall. For example, it may be necessary to install Windows drivers to support the boards of the platform. In order to support this requirement, Boards Manager automatically runs special scripts if present in the installed platform or tool dependencies. Messages are printed in Arduino IDE's "Output" panel to indicate the execution of these scripts.
Previously, Boards Manager printed the status messages even when no script was being executed.
(Thanks @pjrc)
Update Arduino CLI dependency to 1.5.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 1.5.1.
Expand and improve translations
arduino/arduino-ide#2884, arduino/arduino-ide#2920, arduino/arduino-cli#3197
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.10
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:




