
Arduino IDE offers an update to the user when a newer version is available. The availability of an update is determined by comparing the user's IDE version against data file ("channel update info file") stored on Arduino's download server. These "channel update info files" are automatically generated by the build workflow. Previously the release process was fully automated, including the upload of the "channel update info files" to the server. As a temporary workaround for limitations of the GitHub Actions runner machines used to produce the automated builds, some release builds are now produced manually: - Linux build (because the Ubuntu 18.04 runner was shut down and newer runner versions produce builds incompatible with older Linux versions) - macOS Apple Silicon build (because GitHub hosted Apple Silicon runners are not available) The automatic upload of the "channel update info files" produced by the build workflow is problematic because if users receive update offers before the "channel update info files" are updated for the manually produced builds, they can receive an update to a different build than intended: - Users of older Linux versions would update to a build that won't start on their machine - macOS Apple Silicon users would update to macOS x86 build that is less performant on their machine For this reason, the build workflow is adjusted to no longer upload the Linux and macOS "channel update info files" to the download server on release. These files will now be manually uploaded after they have been updated to provide the manually produced builds. This workaround will be reverted once a fully automated release system is regained.
Arduino IDE 2.x
This repository contains the source code of the Arduino IDE 2.x. If you're looking for the old IDE, go to the repository of the 1.x version at https://github.com/arduino/Arduino.
The Arduino IDE 2.x is a major rewrite, sharing no code with the IDE 1.x. It is based on the Theia IDE framework and built with Electron. The backend operations such as compilation and uploading are offloaded to an arduino-cli instance running in daemon mode. This new IDE was developed with the goal of preserving the same interface and user experience of the previous major version in order to provide a frictionless upgrade.
Download
You can download the latest release version and nightly builds from the software download page on the Arduino website.
Support
If you need assistance, see the Help Center and browse the forum.
Bugs & Issues
If you want to report an issue, you can submit it to the issue tracker of this repository.
See the issue report guide for instructions.
Security
If you think you found a vulnerability or other security-related bug in this project, please read our security policy and report the bug to our Security Team 🛡️ Thank you!
e-mail contact: security@arduino.cc
Contributions and development
Contributions are very welcome! There are several ways to participate in this project, including:
- Fixing bugs
- Beta testing
- Translation
See the contributor guide for more information.
See the development guide for a technical overview of the application and instructions for building the code.
Donations
This open source code was written by the Arduino team and is maintained on a daily basis with the help of the community. We invest a considerable amount of time in development, testing and optimization. Please consider donating or sponsoring to support our work, as well as buying original Arduino boards which is the best way to make sure our effort can continue in the long term.
License
The code contained in this repository and the executable distributions are licensed under the terms of the GNU AGPLv3. The executable distributions contain third-party code licensed under other compatible licenses such as GPLv2, MIT and BSD-3. If you have questions about licensing please contact us at license@arduino.cc.