Arduino IDE 2.3.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!

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


:red_exclamation_mark: Unfortunately some of the qualifiers don't match to the library metadata field names.


  • name
  • author
  • maintainer
  • sentence
  • paragraph
  • category
  • website: the contents of the library's url metadata field.
  • architectures
  • dependencies: the contents of the library's depends metadata field.
  • provides: the contents of the library's includes metadata field.
  • types: one or more of the following standard classifications that are applied to each library by the Arduino company:
    • Arduino: official library
    • Retired: official library that is no longer maintained
    • Partner: 3rd party library from an organization that is one of Arduino's partners
    • Recommended: 3rd party library that is recommended by Arduino as being high quality
    • Contributed: 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:

  1. 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.
  2. Start Arduino IDE again.

Allow use of sketches from Arduino Cloud Shared Spaces

arduino/arduino-ide#2486

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:

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

Fun Fact: If you run Arduino IDE 2.3.2 in linux/windows PE, The IDE will stop working and the CLI thing does not work.

Edit: Arduino CLI is a seperate tool :stuck_out_tongue:

Edit 2: When i edited this lastly i finished reading both of them

Edit 3: Made Arduino CLI work on git bash in Windows 11 LTSC (lets go gambling)