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!
Support qualifiers in Library Manager search query
arduino/arduino-ide#2334, arduino/arduino-cli#2373, arduino/arduino-cli#1535
The Arduino Library Manager contains over 7100 libraries, with more added every day. Due to the large number of libraries, Library Manager's search functionality is very important, whether the user is trying to install a specific library, or searching for candidates that provide the functionality required by a project.
Previously, Library Manager only supported a basic keyword search. The search results include all libraries that have the keyword in any metadata field. This sometimes results in a large number of search results. It is now possible to use qualifiers in the search query to limit the search to a specific metadata field.
(Thanks @ClaudioCas)
Click here to see documentation
Qualifiers
Unfortunately some of the qualifiers don't match to the library metadata field names.
nameauthormaintainersentenceparagraphcategorywebsite: the contents of the library'surlmetadata field.architecturesdependencies: the contents of the library'sdependsmetadata field.provides: the contents of the library'sincludesmetadata field.types: one or more of the following standard classifications that are applied to each library by the Arduino company:Arduino: official libraryRetired: official library that is no longer maintainedPartner: 3rd party library from an organization that is one of Arduino's partnersRecommended: 3rd party library that is recommended by Arduino as being high qualityContributed: all other 3rd party libraries
Format
The search query format:
[[<qualifier>:]<keywords>]...
Examples
Search libraries with LED matrix in the name:
name:"LED matrix"
(note that it is necessary to wrap the keywords in quotes in this case due to the presence of a space)
Search for libraries that have the keyword servo in any field and specify explicit compatibility with the esp32 board architecture:
servo architectures:esp32
Search for libraries that have qwiic in the name and are written by sparkfun:
name:qwiic author:sparkfun
Fix language server features not working when libraries installed on different drive than system temporary folder
arduino/arduino-ide#2334, arduino/arduino-language-server@1ccd378, arduino/go-paths-helper#20
Arduino IDE uses a language server to provide "context-aware" features (e.g., autocomplete, "IntelliSense", suggestions, "Go to Definition").
Previously, if a library used by the sketch was installed on a different drive from the drive where the system temporary folder was located, some language server-based features were not available.
Support "Upload Using Programmer by default" feature
arduino/arduino-ide#2500, arduino/arduino-ide#103
Arduino IDE offers two methods for uploading sketches to a board:
- "Upload": Upload directly via the board's interface to the computer.
- "Upload Using Programmer": Upload via the ISP programmer that is selected from the Tools > Programmer menu
Some boards don't have the capability to be uploaded to via a direct interface to the computer, so it is always necessary to use an ISP programmer to upload to these boards. In order to make the use of these boards more convenient, the Arduino boards platform framework allows the board definition to be configured so that when the user triggers an "Upload", an "Upload Using Programmer" is instead triggered.
Previously, Arduino IDE 2.x did not support this "Upload Using Programmer by default" feature, meaning that an "Upload" operation would fail with an "A programmer is required to upload" error. Support for the feature has now been added.
(Thanks @sstaub)
Fix failure to open library examples that have .pde file extension
arduino/arduino-ide#2381, arduino/arduino-ide#2377
In the early days of the Arduino project, the file extension of Arduino sketches was .pde. This was later changed to .ino. Although use of the .pde for Arduino sketches is now deprecated, Arduino IDE does still support that file extension and you can still find some old sketches that use this extension.
Previously, when a library's example sketch used the .pde file extension, attempting to open that example via the File > Examples menu would fail silently.
(Thanks @DaveX)
Fix failure to set proxy server configuration back to "No proxy"
arduino/arduino-ide@347e3d8, arduino/arduino-ide#2184, arduino/arduino-cli#1677
Some users access the Internet through a proxy server. In this case, Arduino IDE must be configured to use the proxy. This can be done via the "Network" tab of the IDE preferences.
Previously, it was impossible to go back to not using a proxy after the IDE had been configured to use a proxy.
Fail compilation when modifications to boards platform have not been loaded
arduino/arduino-ide#2457, arduino/arduino-cli#2551, arduino/arduino-cli#2523
Arduino boards platforms provide the support for specific boards in Arduino IDE. In addition to the Arduino code files, the platform contains configuration files (boards.txt, platform.txt, programmers.txt). Boards platform developers and advanced users might edit these configuration files to fix bugs, add enhancements, or perform experiments.
Arduino IDE loads the data from the configuration files on startup. If the user edits the configuration files while Arduino IDE is running, those changes won't take effect. This can result in confusion if the user is not aware that they must restart Arduino IDE in order to trigger a reload of the configuration files.
Compilation and upload of sketches will now fail when changes to platform configuration files have not been loaded:
The instance is no longer valid and needs to be reinitialized
If you encounter this, perform the following procedure to load your platform configuration modifications:
- Select File > Quit (or Arduino > Quit Arduino for macOS users) from the Arduino IDE menus if it is running.
All Arduino IDE windows will close. - Start Arduino IDE again.
Allow use of sketches from Arduino Cloud Shared Spaces
Arduino Cloud has a "Shared Space" feature which allows groups of users to collaborate on a collection of Arduino sketches and Arduino Cloud IoT projects.
Arduino IDE has an integration with Arduino Cloud, which allows the user to access the sketches from their Arduino Cloud account in addition to the sketches on their local machine. It is now possible to access sketches from Arduino Cloud Shared Spaces in which you are a member in addition to the sketches from your personal Arduino Cloud sketchbook.
Update Arduino CLI dependency
arduino/arduino-ide#2457, arduino/arduino-ide#2334
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.0.4.
Update Arduino Language Server dependency
arduino/arduino-ide#2457, arduino/arduino-ide#2334
Arduino IDE uses a language server to provide "context-aware" features (e.g., autocomplete, "IntelliSense", suggestions, "Go to Definition"). The IDE uses a tool named Arduino Language Server as a translator between the Arduino sketch framework and the clangd C++ language server
In order to benefit from the ongoing development work in the Arduino Language Server project, Arduino IDE has been updated to using the beta tester version 05ec308
Full changelog here:
https://github.com/arduino/arduino-ide/releases/tag/2.3.3
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:
