Arduino Changelog

What's new in Arduino 2.3.2

Feb 20, 2024
  • chore: switch to version 2.3.2 after the release [da57c53]
  • fix(ci): use go 1.21 for the on the fly bin builds [527246b]
  • fix: no required programmer for debug --info [b178cef]
  • fix(security): use [email protected] for CVE-2023-42282 [cac351f]
  • Updated translation files [30d059a]

New in Arduino 2.3.1 (Feb 15, 2024)

  • Fixed:
  • Debug view blank on first debugging session of a sketch (#2354)
  • Security:
  • Update msgpackr to resolve CVE-2023-52079 (#2360)
  • Update axios to resolve CVE-2023-45857 (#2360)
  • Update follow-redirects to resolve CVE-2023-26159 (#2360)

New in Arduino 2.3.0 (Feb 8, 2024)

  • Added:
  • Identify boards from manually installed platforms in "Select Other Board and Port" dialog tooltip (#2270)
  • Support .cc and .cxx extensions for sketch files (#2265)
  • Intellisense and validation for custom_debug.json (#2281)
  • Support direct modification of debugger's launch.json configuration file (#2281)
  • Show progress information in the status bar when Arduino CLI is running debug --info --programmer command (#2281)
  • Support selecting debug probe via "Tools > Programmer" menu (#2281)
  • Disable debug widget if unsupported by board (#14)
  • Advanced preference to limit thread count of Arduino Language Server (#2350)
  • Changed:
  • Use new debug -I -P CLI output (#2281)
  • New debug_custom.json schema (#2281)
  • Update built-in example sketches to 1.10.1 (#2322)
  • Update translation files (#2216)
  • Update Node.js dependency to 18 (#2199)
  • Update electron dependency to 27.0.3 (#2199, #2252, 0f83a48)
  • Update Theia dependency to 1.41.0 (#2211)
  • Update Arduino Language Server dependency to 0.7.6 (a0bd5d0, #2350)
  • Update Arduino CLI dependency to 0.35.2 (73b6dc4, b8dd39c, #2350)
  • Update vscode-arduino-tools dependency to 0.1.1 (73b6dc4)
  • Fixed:
  • Forward backend logging to electron (#2236)
  • Arduino state data not available to extensions after IDE startup (#2233)
  • "Configure and Upload" dialog not presented for uploads dependent on "user provided fields" after IDE startup (#2230)
  • Custom board option selection made in one window affects other windows as well (#2240)
  • "Start Debugging" button incorrectly disabled if board was pre-selected on IDE startup (#2237)
  • Board-dependent menus not populated if board was pre-selected on IDE startup (#2239)
  • Saving sketch fails silently when files are read-only (#1501)
  • IDE window doesn't open when started via sketch file association (#2209)
  • Subfolder structure of sketch lost after "Save As" operation (#2077)
  • Naming collision during "Save As" causes overwrite of secondary sketch file (#827)
  • Previous selection remains in "Firmware Updater" and "Certificate Uploader" menu after no longer available (#2222)
  • Bundle native Arduino Firmware Uploader with Apple Silicon build (#2338)
  • Security:
  • Update electron to resolve CVE-2023-4863 and CVE-2023-39956 (#2252)
  • Replace usage of shelljs package with fs and console (#2252)
  • Replace usage of uuid package with @phosphor/coreutils (#2252)
  • Update @babel/traverse to resolve CVE-2023-45133 (#2273)
  • Update auth0-js to resolve CVE-2023-46233 (#2273)

New in Arduino 2.2.1 (Aug 31, 2023)

  • Changed:
  • Bump Arduino Firmware Uploader dependency to 2.4.1 (#2206)
  • Fixed:
  • Fix missing translations for русский and Türkçe (#2201)

New in Arduino 2.1.0 (Apr 20, 2023)

  • Added:
  • Allow leading underscore in sketch filenames (#1955)
  • Open library examples from Library Manager (#1927)
  • Pull and Push icons on editor toolbar when Cloud sketch is open (#1899)
  • Use icons to indicate pulled state of Cloud sketches in sketchbook list (#1879)
  • Show "[Cloud]" indicator in title of windows with Cloud sketch open (#1878)
  • Support pushing local sketches to Arduino Cloud (#1876)
  • Changed:
  • Base Boards/Library Manager button text on library installation state (#1607)
  • Make Boards/Library Manager uninstall interface easier to find (#19)
  • Default Boards/Library Manager version menu selection to latest (#1924)
  • Improve performance of Library Manager search (#1949)
  • Refocus Serial Monitor after verify/upload (#1979)
  • Indicate theme type in Preferences menu (#1994)
  • Update Arduino CLI dependency to 0.32.2 (#1996)
  • Removed:
  • Don't offer deprecated themes in Preferences dialog (#1283)
  • Fixed:
  • Fix Sketchbook view scroll position reverting when selected item scrolled off screen (#1766)
  • Fix corruption of multibyte characters in pulled Cloud sketch (#449)
  • Fix IDE crash when pushing Cloud sketch (#634)
  • Fix incomplete scroll in Serial Monitor after autoscroll enabled (#1736)
  • Fix Serial Monitor autoscroll not done for content received when view not in focus (#1724)
  • Fix incomplete JSONC support for settings.json (#1945)
  • Fix startup fails when arduino.cli.daemon.debug setting enabled (#1942)
  • Fix Library Manager version menu change after closure of dependencies installation dialog (#1707)
  • Fix Boards/Library Manager entry clipping (#1591)
  • Don't offer installation of already installed release in Boards/Library Manager (#781)
  • Focus the search field when Boards/Library Manager is opened (#1941)
  • Support using debugger with boards platforms installed under non-default data directory location (#1911)
  • Fix editor cursor randomly jumping to beginning of line (#437)
  • Fix duplicated editor tabs (#1791)
  • Focus button in Sketchbook view instead of view container (#1978)
  • Show error when monitor process creation fails (#1508)
  • Always update themeId settings after theme change (#1988)
  • Use appropriate location for manual extension installation folder (#1851)
  • Always add #include directive for arduino_secrets.h when pulling Cloud sketches with secrets (#1999)

New in Arduino 2.0.4 (Feb 27, 2023)

  • Added:
  • Enable rename and delete of Cloud sketches (#1825)
  • Add activity bar icon for Arduino Cloud login (#1877)
  • Add support for macOS notarization during local builds (#1916)
  • Changed:
  • Show custom board option settings in Tools menu (#343)
  • Use a local npm registry for app packaging (#1757)
  • Always show File > Sketchbook menu item (#569)
  • Always show Tools > Port menu item (#655)
  • Use more efficient method to get Arduino CLI version (#1572)
  • Remove encoding from status bar (#1393)
  • Allow addition of existing code files to sketch (#284)
  • Communicate cause of debugger not starting with uncompiled sketch (#808)
  • Add leading+trailing line break to "Copy for Forum" content (#1859)
  • Improve contrast of cursor color in "Dark (Arduino)" theme (#1251)
  • Improve contrast of "Output" view stderr text in "Light (Arduino)" theme (#1087)
  • Bump Arduino CLI to 0.31.0 (#1921)
  • Use hardwareId for board auto-selection (#1913)
  • Update translations (#1763)
  • Fixed:
  • Fix File > Preferences disabled if dialog used soon after IDE startup (#1735)
  • Prevent opening of multiple "Preferences" dialog instances (#1735)
  • Fix support for user-installed theme extensions (#1742)
  • Always set "Updatable" filter when Boards Manager/Library Manager opened from update offer dialog (#1740)
  • Fix corruption of multi-byte UTF-8 symbols in Serial Monitor (#589)
  • Fix Sketch > Upload/Upload Using Programmer menu items remaining disabled after completion of upload (#1722)
  • Fix proxy protocol incorrectly shown as "SOCKS" in "Preferences" dialog (#1775)
  • Fix support for SOCKS5 proxy protocol (#1769)
  • Fix IDE startup hang if sketchbook folder location not accessible (#1764)
  • Update affected UI elements after "Sketchbook location" preference change (#796)
  • Update affected UI elements after "Add .ZIP Library..." operation (#659)
  • Restart language server after change to platform or library (#670)
  • Support IDE installation paths that contain # (#1124)
  • Pass custom board option settings to language server (#1029)
  • Make File > Sketchbook menu reflect sketchbook folder structure (#1185)
  • Populate "Board Info" dialog from port data (#1489)
  • Use established sort order in Boards Manager and Library Manager listings (#1106)
  • Prevent creation of sketches with non-compliant names (#1599)
  • Correct handling of primary sketch tab deletion (#649)
  • Fix missing toolbar context menu items when editor doesn't have focus (#1847)
  • Fix unexpected sketch deletion when location inside sketch folder selected as rename target (#1882)

New in Arduino 2.0.3 (Dec 5, 2022)

  • Changed:
  • Switched from arduino.window.zoomLevel to window.zoomLevel preference (#1675)
  • Update Cortex-Debug to recent version (#246)
  • Fixed:
  • Fix editor widget resolving when creating new tab (#1718)
  • Fix keybindings to switch between tabs on MacOs (#1685)
  • Other ino files are not reflected in the window title (#1656)
  • Debugger does not disconnect after stopping it (#995)
  • Scrollbar covers bottom line of Serial Monitor output (#1602)
  • Problem leaving "focus" mode (#1550)
  • editor.hover.delay setting not used by new windows (#571)
  • Window title changes to "index.html" during reload (#999)
  • Missing translation in Theia's view-container context menu (#1498)
  • Indentation guides are always visible (#1613)
  • Rightmost tab is selected by default (#643)
  • Selecting "New Remote Sketch" from File menu has no effect if "Remote Sketchbook" widget is not open (#1715)
  • Serial Monitor sends spurious data (#375)
  • Unable to start debugger when watch expressions are configured (#1582)
  • Conditional breakpoint only stops the first time (#268)

New in Arduino 2.0.2 (Nov 17, 2022)

  • Added:
  • Build IDE2 on darwin arm64 (#1577)
  • Create remote sketch (#1580)
  • Fixed:
  • Spurious IDE update notifications when using snapshot or nightly builds (#1440)
  • Autoformat removes new-line before EOF (#1487)
  • "Open Recent" menu missing after recent sketch is deleted (#1596)
  • Additional sketches can't be opened via file association/command line argument (#1590)
  • "Built-in" examples fail to open with Linux AppImage (#1586)
  • "Sketchbook" menu missing if sketch name is invalid regex (#1600)
  • First time load of project with many files very slow (#1612)

New in Arduino 2.0.1 (Oct 27, 2022)

  • The new major release of the Arduino IDE is faster and even more powerful! In addition to a more modern editor and a more responsive interface it features autocompletion, code navigation, and even a live debugger.

New in Arduino 2.0.0 (Sep 15, 2022)

  • The new major release of the Arduino IDE is faster and even more powerful! In addition to a more modern editor and a more responsive interface it features autocompletion, code navigation, and even a live debugger.

New in Arduino 2.0.0 RC 8 (Jun 26, 2022)

  • Added:
  • Reveal the error location after the failed verify (#1064 #608 #229)
  • Survey notification (#1035)
  • Can enable debug logging of the gRPC calls (#1065 #1056)
  • Changed:
  • Relaxed the error handling of the core client init (#1045 #1036)
  • Output panel optimisation (#1058 #405 #68)
  • Fixed:
  • Restored the Settings UI. Deferred model loading. #1046 #1031
  • Fix error in console when clicking in the editor, or output view (#1057 #977)
  • Cleaned up File menu (#1071 #1014)
  • UI fixes (#1088 #1092 #1097)
  • Fixed widget lookup to eliminate duplicate tabs (#1085 #1054)
  • Failing upload flag for monitor mgr (#1040 #1032)
  • Disabled MenuItem roles on macOS (#1022)

New in Arduino 2.0.0 RC 5 (Mar 28, 2022)

  • Added:
  • Privacy policy menu item (#883)
  • Changed:
  • Remove Web Developer Tools in the Help menu (#882)
  • Fixed:
  • Add pagination in remote sketchbook (#875 #809)
  • Fix sketch name duplicates (#887)
  • Reload sketch when Saving as new (#880 #829)
  • Fix changelog generation

New in Arduino 2.0.0 RC 4 (Mar 3, 2022)

  • Added:
  • Add the auto-updater feature (#797 #840 #846 #860 #863 #865 #870 #871 #872)
  • Show represented file on MacOS (#868)
  • Enable opening the IDE from finder/explorer (#835)
  • Add gRPC user agent (#834)
  • Open all closed workspaces on startup (#780)
  • Compose the full changelog when a release is made (#777 #782 #783)
  • Changed:
  • update arduino-cli to 0.21.0 (#820)
  • Update Theia to 1.22.1 (#791)
  • Update ls to 0.6.0and clangd to 13.0.0 (#738)
  • Improve build instructions (#706)
  • Fixed:
  • Save preferences in sequence (#856)
  • Fix version retrieval in node process (#837)
  • Fix board options not shown for manually installed platforms (#826)
  • Check protocol on board reconnection (#729)
  • Solve ports conflicts with the same address and different protocol (#713)
  • Remove stray brace from compilation error output (#751)

New in Arduino 2.0.0 RC 3 (Dec 27, 2021)

  • Changed:
  • Update README.md with translations project link
  • Updated Translations
  • Fixed:
  • Fix cloud sync push action for bigger (>4k) files (#696)
  • Updated serial plotter to fix a number of issues (#698)
  • Serial monitor lines not to wrap/overlap when the text is too long (#697)
  • Close serial port connection before flashing firmware (#688)
  • Use major version ref of carlosperate/download-file-action

New in Arduino 1.8.19 (Dec 21, 2021)

  • Removed log4j from IDE. Fix CVE-2021-45105, CVE-2021-45046

New in Arduino 1.8.18 (Dec 16, 2021)

  • Upgrade log4j to 2.16.0 - Extra hardening for CVE-2021-44228

New in Arduino 2.0.0 RC 2 (Dec 14, 2021)

  • Added:
  • Automatically install 'Arduino_BuiltIn' library at first startup #663
  • Changed:
  • Remove gRPC error code from error notifications #664
  • IDE to run CLI with auto-assigned port #673
  • Fixed:
  • Fix upload and serial #661 #615
  • Fix notification icons #642 #531

New in Arduino 2.0.0 RC 1 (Dec 2, 2021)

  • Added:
  • Serial Plotter #597
  • Translating Arduino-IDE using Theia's nls API #545 #542
  • Add dialog to insert user fields for board that require them to upload #550
  • Changed:
  • Remove gRPC errors codes from compile/upload console output in #564
  • Disable Breadcrumbs #611
  • Rework listing of discovered ports #614
  • Remove language server log preference #635
  • Update Theia, CLI and LS #610
  • Fixed:
  • Footer min-height for library and board manager #392
  • Fix cortex-debug related debugging issue #578
  • Open Save as... dialog when saving sketches for the first time #579
  • Fix tabs ordering #612

New in Arduino 2.0.0 Beta 12 (Oct 7, 2021)

  • Added:
  • At first ide startup invoke installation of arduino:avr #497
  • Changed:
  • Install core notification not to appear on board unplug #485
  • Sort board families in Tool menu #486
  • Minor fixes to menu items #491 #492
  • Improve Serial Monitor Performances #524
  • Improve init process thanks to arduino-cli upgrade to 0.19.1 #506
  • Upgrade Theia to 1.18.0 #489
  • Updated icons #489
  • Fixed:
  • Re-center refresh icon when spinning #493
  • Fix editor quick suggestions preference #494
  • Fix Rename and Delete file #528

New in Arduino 1.8.16 (Sep 6, 2021)

  • [ide]:
  • Removed the very outdated off-line documentation.
  • Do not crash if a malformed boards index URL is entered in preferences.
  • Fixed font-resizing problem with multiple tabs open.
  • Updated FTDI drivers to version 2.12.36.4
  • [wifi-firmware]:
  • Added latest firmwares (up to version 1.4.8) for NINA-based boards

New in Arduino 2.0.0 Beta 11 (Aug 30, 2021)

  • Added:
  • [ATL-1533] Firmware&Certificate Uploader (#469) [302fb7b]
  • [ATL-493] Support platforms installed in directories.user [6233e1f]

New in Arduino 2.0.0 Beta 10 (Aug 6, 2021)

  • Fixed:
  • Refactor pull/push to edit files in place (#464) [6515273]
  • Preserve node expanded state on refresh [57b9eb9]
  • Fixed remote sketches sorting [64dc124]
  • Force some files to be read-only (#453) [38d372e]
  • Fix url to open sketch in cloud editor (#452) [5897f37]
  • Improve remote sketchbook explorer (#459) [d790266]
  • Improve local sketchbook explorer (#446) [4da5d57]
  • Reveal sketch directory in file explorer (#450) [4e6f9ae]
  • Make tab width 2 spaces (#445) [e10f0f1]

New in Arduino 2.0.0 Beta 9 (Jul 9, 2021)

  • Fixed:
  • Updated to 2.0.0-beta.9 [40a73af]
  • Include arduino_secrets.h when needed, remove orphan CR character produced at every push-pull operation (#438) [461ca06]

New in Arduino 2.0.0 Beta 8 (Jul 7, 2021)

  • Added:
  • [atl-1217] sketchbook explorer local & remote [4c536ec]
  • Fixed:
  • eslint to fix unused imports [e6cbefb]
  • Use eslint&prettier for code linting&formatting [0592199]
  • force electron-builder version resolution [2a3873a]
  • Changed:
  • Use latest release of built-in examples [05c0505]

New in Arduino 1.8.15 (May 14, 2021)

  • HOTFIX:
  • Fixed regression in library discovery (failing to compile bundled libs, like SD or Ethernet, on some platforms)

New in Arduino 1.8.14 (May 12, 2021)

  • Ide:
  • Fix status bar custom board preferences disappearing (thanks @magedrifaat)
  • Boards Manager bugfix: sometimes the "Install" button appeared instead of "Update" after entering a search term.
  • Libraries/Boards Manager: the Type and Category filters are kept after install/uninstall.
  • Added 'deprecated' label support in Boards Manager, platforms marked as deprecated are shown at the bottom of the list.
  • Serial Plotter: line endings dropdown menu now comply with the global preference settings. (thanks @sceniclife)
  • Libraries Manager: Maintainer is displayed instead of the Author.
  • Firmware Updater: Added new firmwares and support for Nano RP2040 Connect.
  • Boards Manager: cached 3rd party package_index.json are no more deleted if the origin URL is removed from preferences, this allows other tools (like arduino-cli), that may have different URLs configuration, to work properly.
  • The board configuration submenus are now scrollable.
  • New shortcut: Shift+click on Serial Monitor button will open the Serial Plotter. (thanks @n-elia)
  • Fixed NPE if no board is selected. (thanks @matthijskooijman)
  • Arduino-builder:
  • Improved lib detection: check for matching name in library.properties
  • Fix compile if invalid build.options.json is found (thanks @d-a-v)
  • Improved error messages for .cpp/.h file in the sketch

New in Arduino 1.8.13 (Jun 16, 2020)

  • Ide:
  • Fixed crash on MacOSX >=10.15 with multiple monitor setups.
  • The boards in the boards list in the "Tools" menu are now grouped by platform. This should make the selection
  • easier when there are lots of boards loaded in the IDE. (thanks @matthijskooijman)
  • Fixed save of proxy username/password settings in "manual proxy" section.
  • In "Tools / Programmers" menu only shows programmers related to the currently selected board. (thanks @matthijskooijman)
  • Fixed: sketch window out-of-display if the IDE is restarted after removing an external monitor.
  • Allow baudrate/config change when the Serial Monitor/Plotter is disabled. (thanks @matthijskooijman)
  • Updated jmdns to 3.5.5. Should improve network board detection.
  • Optimized libraries scanning during startup. (thanks @ricardojlrufino)
  • Better vertical centering of file names in tabs. (thanks @ricardojlrufino)
  • Better console rendering of progress bar during upload. (thanks @matthijskooijman)
  • Arduino-builder:
  • FIX REGRESSION: Fixed precompiled libraries containing "wrapper" code that has to be compiled together with the precompiled part.
  • Removed automatic '--relax' for compiles on Atmega2560 MCU
  • Fixed skethbook+bootloader hex merger when the bootloader is in .bin format.
  • Fixed relative path errors when traversing different partitions (in particular on macosx for larger sketches)
  • Added #define variable during lib discovery phase
  • Improved progress report from compile
  • Core:
  • Updated AVR core to 1.8.3:
  • Wire class now supports timeout
  • Upgraded avr-gcc to 7.3.0-atmel3.6.1-arduino7

New in Arduino 1.8.12 (Feb 13, 2020)

  • [ide]:
  • Reverted the bundled Java JRE to the latest freely redistributable Oracle JRE for all
  • platforms except:
  • macOS (due to notarization)
  • aarch64 (due to missing graphical support)
  • Switching to AdoptJDK demonstrated to be more challenging than expected, bringing in
  • some corner case bugs that were not being caught by our testing procedures:
  • https://github.com/arduino/Arduino/labels/OpenJDK
  • To guarantee the best user experience we decided to revert to the latest working JRE
  • until all the issues are resolved.
  • Improved visualization of compiler errors (@matthijskooijman)
  • Fixed: "Comparison method violates its original contract" error in library manager
  • Serial monitor is no more cleared during upload, so it can be copy/pasted (@PaulStoffregen)
  • [arduino-builder]:
  • FIX REGRESSION: library priority selection for bundled libraries (like SD or Ethernet)
  • FIX REGRESSION: use AVR core installed via Board Manager (when present) instead of the one bundled in the IDE
  • Improved precompiled libraries handling
  • FIX: paths with spaces are now correctly printed in compiler output

New in Arduino 1.8.11 (Jan 28, 2020)

  • [ide]:
  • FIX: Serial plotter do not hang if empty lines are received
  • A lot of accessibility improvements in Libs and Board managers GUI for screen readers (thanks @joew46167)
  • Sligtly improved support for themes in Libs and Board managers (thanks @matthijskooijman)
  • Serial plotter: added serial input text field (thanks @cactorium)
  • MacOSX: support for notarization (thanks @PaulStoffregen for the support)
  • Fix wrong bracket match rectangle on auto format (thanks @magedrifaat)
  • Pluggable discoveries: runtime.platform.path and runtime.hardware.path are now available as variables (thanks @PaulStoffregen)
  • [arduino-builder]:
  • FIX: missed library-detection cache (forcing lib detection on each build)
  • FIX: Windows: the build folder may reside on a different partition
  • FIX: Segfault in arduino-builder with -dump-prefs if no sketch is specified
  • FIX: Allow loading of global user-define platform.txt
  • FIX: Fixed nil pointer exception on some rare case with multiple libs
  • FIX: Print "multiple libraries found for header.h" message only when it really happens
  • FIX: Fixed library priorities on some rare circumstances
  • [hardware]:
  • updated AVR core to 1.8.2
  • [wifi-updater]:
  • updated to 0.10.10

New in Arduino 1.8.10 (Sep 13, 2019)

  • IDE:
  • Live font resize now applies to console and serial monitor too @Pieter12345
  • Make it easier to build the IDE from sources on Windows @Pieter12345
  • Smaller Preference window, suitable for supersmall screens
  • Cache downloaded json and only retrieve them when changed @mattiabertorello
  • Suspend serial monitor if the board gets disconnected abruptly
  • Libraries can now declare dependencies that will be proposed during lib installation
  • SerialPlotter: allow adding labels @chromhelm
  • Support tar.xz archives for Board Manager @vowstar
  • SerialMonitor: add command history (via arrow keys) @Pieter12345
  • Accessibility: add checkbox to enable accessibility in Preferences @joew46167
  • This mode enables a plethora of improvements on voiceover and keyboard navigation.
  • eg. links become accessible buttons, lists are scrollable via arrow keys without much pain
  • wifi-updater:
  • Add latest NINA firmware
  • hardware:
  • Bundle new avr toolchain (fixes lto issue with 5.4.0 and 64bit compatibility with upcoming macOS Catalina)
  • arduino-buidler:
  • update to 1.4.7 (based on the new arduino-cli)

New in Arduino 1.8.9 (Mar 15, 2019)

  • IDE:
  • New target! ARM64 boards are now fully supported (Nvidia Jetson and RaspberryPi3 with 64bit operating system)
  • Fix UTF8 related bugs on Windows
  • Fixed: can now compile again using OpenJDK (removed dependency on JavaFx)
  • Fixed: only use touchBar on OSX 10.12 or higher
  • PluggableDiscovery: easily add your own discoverer and make it available in Boards/Port menu (thanks @PaulStoffregen for the idea and the initial implementation)
  • LibManager: reduce slowdown when searching
  • Fixed: ensure a sketch line is visible when it contains an error and must be highlighted
  • Linux: the installer now tries to install a symlink is /usr/local/bin (this doesn't affect usual non-systemwide installation) Thanks @2E0PGS
  • Wifi-updater:
  • Fix firmware upgrade not being available for 3rd party WINC boards
  • Arduino-builder:
  • Use lexicographic distance as last chance to spot the right library (if every other tecnique failed)
  • Fix some prototypes being inserted in the middle of a function

New in Arduino 1.8.8 (Dec 6, 2018)

  • [ide]:
  • Fixed: command line parsing of version parameters when installing cores/libraries
  • Platform indexes are now downloaded using https
  • Fixed: on some newer linux distrubitions, NPE when loading GTK look-and-feel without libgtk2 installed
  • MacOSX: added touch bar support
  • MacOSX: do not exit app after closing last window
  • Fixed: serial monitor timestamps not always printed. Thanks @nitram509
  • Kill active programmer if still alive after closing last IDE window
  • Fixed: "Export compiled binary" now works also with unsaved sketches
  • Improved automatic port re-selection after upload
  • Added scroller to "INCOMPATIBLE" examples menu
  • [wifi-firmware]:
  • Added firmware upgrade for NINA-based boards

New in Arduino 1.8.7 (Sep 12, 2018)

  • [ide]:
  • Fixed IDE doesn't start if library_index.json is corruped.
  • Fixed IDE doesn't start if a library with invalid version is found.
  • Fixed Rare build errors in very complex sketches (like Marlin firmware).
  • Fixed Better dialog explaining that MacOSX 10.8 is now required. Thanks @PaulStoffregen
  • Fixed Slow "File" and "Tools" menus in MacOSX
  • Fixed Weird Board Manager behaviour if AVR core is downgraded to a version earlier than 1.6.22
  • Improved first-use usability if the user don't select the serial port. Thanks @PaulStoffregen
  • Custom "Tools" menu now keeps the order as defined in boards.txt.
  • [core]:
  • AVR Fixed EEPROM warnings. Thanks @bxparks
  • AVR Treat "narrowing conversion" as warning, not error. This will make some libraries
  • to compile again. Thanks @PaulStoffregen

New in Arduino 1.8.5 (Oct 2, 2017)

  • Added workaround for menu visualization bug in MacOSX 10.13 beta. Thanks @puybaret
  • Fixed bug for negative-font-size.
  • New/Rename tabs now allows names starting with a number.

New in Arduino 1.8.4 (Aug 22, 2017)

  • IDE:
  • IDE Toolbar can now go full width on 4K display.
  • Environment variable LIBRARY_INDEX_URL is now correctly parsed (LIBRARY_INDEX_URL_GZ can also be optinally specified). Thanks @xardael
  • Added per-board generic option in config file boards.txt for disabling control of dtr+rts. Thanks @d-a-v
  • CLI: fixed missing "runtime.platform.path" when running without the `--board` option
  • Linux: fixed desktop icon not launching the IDE in certain Window Managers (thanks @herrold)
  • Allow setting low values for console size (correctly applies console.lines=x in preferences.txt)
  • Make Preference window fit 600px height displays
  • Fix error when renaming an unsaved, newly added file. Thanks @matthijskooijman
  • Added the ability to increase/decrease font size via keyboard + mouse shortcuts (Ctrl + MouseWheel)
  • Sketch names starting with a digit are now allowed
  • Serial monitor is opened on a default position if the multi-monitor setup change (this should fix cases
  • when the serial monitor is opened outside of the visibile space)
  • Libraries]
  • Fixed wrong folder name for "Adafruit Circuit Playground" library, now it can be updated cleanly.
  • Fixed wrong include for "RobotIRRemote", now it should not interfere anymore with the real IRRemote.

New in Arduino 1.8.3 (Jun 5, 2017)

  • IDE:
  • Fixed RESOURCE_NAME in install.sh script
  • Serial Monitor: added "Clear output" button. Thanks @MichaelSy
  • added options in preferences.txt for: custom title, comment/uncomment shortcut, always show file extensions. Thanks @MichaelSy
  • added options in preferences.txt to enable/disable typing assistance (auto close brace, auto indent)
  • Enabling "Use external editor" option now requires to save all sketches.
  • CORE:
  • AVR: added availableForWrite() method in generic Stream class. Thanks @eric-wieser
  • AVR: moved flush() method up in the class hierarchy from Stream to Print class. Thanks @matthijskooijman
  • OTHER:
  • Update Wifi101 Firmware Updater plugin

New in Arduino 1.8.2 (Mar 27, 2017)

  • IDE:
  • Fix command line: works again with relative paths (regression)
  • Fix command line: "--save-prefs" works again (regression)
  • AVR toolchain has been updated with a tentative fix for the ld-returned-5-exit-status bug
  • Update arduino-builder to 1.3.25
  • avoid name clashing for libraries
  • cache core archives to speedup compilation consistently
  • Allow BoardManager to fetch FreeBSD tools (thanks @kevans91)
  • Serial monitor: the input string box is automatically focused when window is selected
  • Serial monitor: now can not be opened during upload
  • Serial monitor: now properly decodes UTF8 characters (thanks @aknrdureegaesr)
  • Serial monitor: added 500k, 1M and 2M baudrates (thanks @dsstutts)
  • Updated RSyntaxTextArea to 2.6.1 (textarea component)
  • Updated jmdsn (mDNS discovery)
  • Allow plugins to attach a listener to compile progress (thanks @tomneutens)
  • CORE:
  • Add Atmel-ICE and JTAGICE3 programmers for AVR chips (thanks @matthijskooijman)
  • AVR: Set unused bits of extended fuse to 1, should remove some avrdude warning during burn bootloader (thanks @descampsa)
  • AVR: USB: send ZLP when needed (allows full 64 bytes packets)
  • AVR: USB: use IAD descriptors instead than Generic (thanks @cuitoldfish)
  • OTHER:
  • SAM platform source code has been moved to its own repository (https://github.com/arduino/ArduinoCore-sam) - all PRs and issues have been moved as well
  • Update Wifi101 Firmware Updater plugin

New in Arduino 1.8.1 (Jan 10, 2017)

  • IDE:
  • Fixed font rendering not anti-aliased on Windows (regression)
  • Increased number of colors on serial plotter to 8
  • LIBRARIES:
  • Fixed regression in SD library.

New in Arduino 1.8.0 (Dec 23, 2016)

  • IDE:
  • Linux: running in command line mode doesn't require an X11 display anymore
  • "Save as" now clears the "modified" status
  • builder: Paths with strange UTF8 chars are now correctly handled
  • builder: .hpp and .hh file extensions are now considered valid sketch extension
  • builder: core.a is not rebuild if not needed (improve build time in particular for big projects)
  • Fixed swapped actions "Copy for Forum" and "Copy as HTML"
  • Linux/osx: If an editor tab is a symbolic link it is no more replaced with a real file when saving (see #5478)
  • Increased the upload timeout to 5 minutes (it was 2 min, but it may be not sufficient when uploading via UART a big sketch)
  • CORE:
  • Added Arduino.org boards
  • Added Adafruit Circuit Playground board
  • Added "-g" option to linker to keep debug information in the .elf file (see #5539)
  • avrdude: Added fake configuration for EFUSE on atmega8 part. This solves a long standing issue with "Burn bootloader".

New in Arduino 1.6.10 (Jul 27, 2016)

  • IDE:
  • A lot of bugfixes to builder:
  • Libraries can now define the property "includes" in the library.properties to tell the IDE which `#include ` lines should be added to the sketch when the "Include library" command is used.
  • Examples are now filtered by architecture
  • Added more graceful handling of upload failures
  • Solved a bug that crashed the IDE with some exotic serial devices
  • CORE:
  • avr: toolchain updated to latest Atmel release 3.5.3
  • The updated tools are now binutils-2.26, gcc-4.9.2, avr-libc-2.0.0, gdb-7.8
  • avr: avrdude updated to version 6.3
  • fixed a small bug that caused a compile error on some 3rd party derivatives boards based on Leonardo
  • sam: added snprintf_P to avr/pgmspace.h stub.
  • avr: Fix TX buffer being overwritten by multiple Wire.write(...) calls in slave mode.
  • Another small fix to String iterators. Thanks @Ivan-Perez @Chris--A
  • Added getTimeout() method to Stream. Thanks @mattb5906
  • avr: Fixed USB wakeup event handling, this solves some rare lockups of serial port on some linux distributions
  • Speed and size improvement on Print::printFloat(..). Thanks @bblanchon
  • avr: Added Serial.availableForWrite() for USB-CDC serial ports
  • avr: Added PIN_* defines to all board variants

New in Arduino 1.6.9 (May 11, 2016)

  • [ide]:
  • Catch and report errors during parsing contributed index files
  • Fixed IDE version color on about dialog box.
  • The "always-on-top update notification" popup is now less intrusive.
  • Fixed untraslated string during IDE startup splash window.
  • New arduino-builder: better core library detection, faster operations when recompiling and more.
  • See https://github.com/arduino/arduino-builder/compare/1.3.9...1.3.15
  • Fixed multitab error reporting
  • Rework serial port discovery to be faster, less cpu intensive and FTDI friendly
  • Avoid launching multiple concurrent compile and upload operation
  • Use hi-res icons for Serial monitor and plotter
  • Make http://librarymanager and http://boardmanager links clickable from the editor window
  • Cut/Copy actions are disable when there is no text selected.
  • Fixed Ctrl+Del: now deletes the word behind the cursor instead of the entire line.
  • Fixed "Verify code after upload" option in preferences.
  • [core]:
  • String class now supports iterators.
  • sam: Allow 3rd party boards that depend on SAM core to use their own
  • USB vid/pid and manufacturer/product strings.
  • avr: Check at runtime if 32u4 boards are shipped with new bootloader; if so
  • write bootloader magic value in an unproblematic RAM location
  • avr, sam: Added "reciper.ar.pattern" to plaform.txt to allow compatibility
  • with older version of Arduino IDE.
  • [libraries]:
  • Bridge / bridge.py: added support for SSL sockets (Yun firmware >=1.6.2 is
  • needed).

New in Arduino 1.6.8 (Mar 9, 2016)

  • IDE:
  • Added support for GUI interface scaling for UHD monitors.
  • Editor position is saved when closing with Alt+F4 or clicking on the "X" button.
  • Fixed a NullPointerException when dealing with some rare combination of package_*.json files
  • Fixed incorrect key bindings handling for changing tab.
  • MacOSX: Fixed handling of add indent/remove indent shortcuts (CMD+[ and CMD+])
  • Fixed incorrect update of available libraries in Library Manager.
  • Serial plotter now correctly resize graphs with negative values.
  • Improved sketch preprocessor when handling C++11 keywords.
  • Updates to keyword pigmentation to match Create
  • Fixed display of LITERAL1 keywords
  • CORE:
  • avr: fixed USB_SendControl(...) for buffer with len > 64.
  • avr: fixed yield() usage inside delay(). Thanks @vbextreme
  • sam: fixed USB descriptor length
  • avr: reduced boiler-plate for ISR declarations. Thanks @paulo-raca
  • avr: added Timer3 support for atmega1284/1284p.
  • sam: added USB CDC send break support and readBreak API
  • LIBRARIES:
  • Added support for Arduino/Genuino 101 to: TFT, Ethernet, SD
  • SD: the library is now board-agnostic.

New in Arduino 1.6.7 (Dec 17, 2015)

  • IDE:
  • New arduino-builder: faster, better prototype generation and library discovery logic, and more. See https://github.com/arduino/arduino-builder/compare/1.0.5...1.3.9
  • Serial plotter now allows to plot multiple values at once. Thanks @henningpohl
  • New translations
  • Added support to file:// protocol for boards manager URLs
  • Portable sketchbook folder can now be any arbitrary location
  • Fixed a bug that caused Boards Manager to install the same tool twice or more, thus wasting disk space, if other cores where using tools delivered by arduino
  • Fixed various Boards manager glitches, in particular when removing a board
  • Windows: Arduino IDE icon is now in high definition, bye bye that blurry icon
  • Remote upload without SSH is now supported (allows OTA upload for many 3rd party boards). Thanks @me-no-dev.
  • LIBRARIES:
  • SPI: Added SPI.transfer16(...) function to SAM core.
  • Ethernet, WiFi, SoftwareSerial: Fixed flush() behaviour:
  • the flush function is no more dropping the receive buffer, as per
  • 1.0 API specification. Thanks @drmpf
  • CORE:
  • Fixed wrong timings for HardwareSerial::flush() in SAM core. Thanks @borisff
  • Stream: Optional lookahead and skipChar options added to parseInt and parseFloat,
  • parseFloat also support parsing floats without a leading 0,
  • Stream::find(char) added to SAM. Thanks @Chris--A.
  • Leonardo/Micro (and other atmega32u4 based boards) now have SerialUSB alias for Serial
  • Leonardo now has LED_BUILTIN_RX/TX definitions in variant file. Thanks @NicoHood

New in Arduino 1.6.6 (Nov 3, 2015)

  • IDE:
  • Switched to Java 8, which is now both bundled and needed for compiling the IDE
  • Added link to unofficial boards support list in preferences
  • Limit of possible new sketches in a day raised to 676. Thanks @Chris--A
  • Windows: fixed a bug when running username had non ASCII chars
  • Lots of fixes
  • ArduinoISP examples moved under 11.ArduinoISP folder
  • MacOSX: binary is now able to tell the IDE its current working directory. Eases life to those using the IDE from the CLI
  • CLI: if specified board doesn't exist, fail instead of using a default one
  • Windows: IDE stores its stuff under %LOCALAPPDATA% instead of %APPDATA% (which was a roaming folder). %APPDATA% content is automatically migrated to new location
  • Added 74880 baud rate to serial monitor. Thanks @Chris--A
  • When changing tab, file name is shown in window title
  • IDE groups compiled files into "libraries", "core" and "sketch" folders
  • Added Serial Plotter. Thanks @henningpohl
  • Editor: triple click selects whole line
  • Windows: IDE startup feels faster
  • Examples of libraries with a .development flag file in their root folder won't get marked as read-only. See #2619
  • Update notifications: when updates are available from either Library or Boards Managers, a popup will be shown
  • Introducing arduino-builder, a command line tool that properly calls gcc. Fixes lots of issues about buggy preprocessing.
  • Each open sketch gets built in its own folder, allowing the IDE to recycle previous compilations and being much faster
  • "Go to line": CTRL+L or Edit > Go to line... will open a dialog where you can type the line number where you want the editor to jump to
  • Added boards.local.txt support: like platform.local.txt, allows to enrich a boards.txt definition without modifying the original file. Thanks @Wackerbarth
  • Library to library dependencies: when your sketch imports a library, and that library uses another, the IDE will find out without you having to add a useless #include to your sketch
  • Allow per-platform keywords.txt. Thanks @PaulStoffregen
  • Allow spaces in IDE install path on Linux. Thanks @matthijskooijman
  • Fixed a lot of documentation. Thanks to @per1234 @q2dg
  • Fixed parsing for SystemProfiler when scanning for available serial ports on Macosx El Capitan
  • LIBRARIES:
  • Bridge: YunClient.connected() returns true if there are bytes available for read. Thanks @RobAtticus
  • Bridge: YunClient.stop() now empties all buffers. Thanks @RobAtticus
  • Ethernet: Added missing keywords. Thanks @per1234
  • Ethernet: Fixed DNSClient.inet_aton() function. Thanks @jhorck
  • Ethernet: Expose optional DHCP timout parameters to Ethernet:begin(). Thanks @chaveiro
  • Wire: Implemented Wire.end().
  • Wire: Fixed bug with repeated START for AVR. Thanks Nate Williams
  • Wire: Resolved timing issues on AVR. See #2173 #1477.
  • Wire: Fixed bug in repeated start in slave mode on SAM. See #3908
  • SD: Change "char *" to "const char *" on methods accepting a string as a parameter. Thanks @Ivan-Perez
  • Scheduler: Added support for cortex-M0. Thanks @PeterVH
  • CORE:
  • Added new PluggableUSB and HID support. This change introduces a more powerful API for
  • libraries that wants use advanced features of USB-Device.
  • Thanks to @obra @NicoHood @matthijskooijman @nospam2000 @weizenspreu
  • AVR: fixed wrong turnOffPWM() for TIMER0B. Thanks @gonzoveliki
  • AVR: added support for AtmegaXXu2. Thanks @NicoHood
  • AVR: a bunch of USB Core bug fix. Thanks @NicoHood
  • AVR: Expose serial setting from USB-CDC serial port. Thanks @matthijskooijman
  • ArduinoISP is now compatible with every architecture (not only AVR) and is much more stable. Thanks @PeterVH
  • Print not aborting on write() failure. Thanks @stickbreaker
  • AVR: Faster interrupts patch. Thanks @xxxajk
  • AVR: Fixed pulseInLong wrong measurements.
  • AVR: Removed a bunch of compiler warnings. Thanks @NicoHood
  • Improved variants files for Boards Gemma and Ethernet

New in Arduino 1.6.5-r5 (Aug 31, 2015)

  • Fixed a but preventing upload on boards that do not supply VID/PID. See #3738

New in Arduino 1.6.5-r4 (Aug 31, 2015)

  • Added support to Genuino boards

New in Arduino 1.6.5-r2 (Jun 18, 2015)

  • ide:
  • fixed a problem that prevented opening the IDE when double clicking a .ino file

New in Arduino 1.6.5 (Jun 15, 2015)

  • ide:
  • File, Sketch and Tools menu items are properly handled when switching between different windows
  • Sketch > Export compiled Binary: saves the compiled binary (hex, bin) into the sketch folder.
  • New editor, based on RSyntaxTextArea.
  • New keywords.
  • Easier "additional boards manager url" field: a wide text area opens by clicking the added button (right side of the text field)
  • Rewritten code of Preferences window: its content is now correctly drawn on every OS
  • Fixed a bug that made the IDE notify users of invalid libraries too many times.
  • Removed JNA. Less native stuff and less chances of incurring into an UnsatisfiedLinkError
  • Many new and old issues closed. Thanks to many, and @Chris--A in particular
  • Faster libraries list update
  • Serial monitor stays opened during upload, disabled.
  • CLI: --get-pref can now be called without a pref name. If pref name is missing, IDE dumps all preferences
  • Holding SHIFT when hovering the save icon will trigger a "Save As"
  • Removed proxy settings from File > Preferences: IDE will use system settings
  • Linux versions bundle the latest JVM, 1.8.0_45
  • Local docs: if your sketch has a "docs" folder, you can add local links to it. For example file://./docs/index.html will use your browser to open file index.html from the "docs" folder of your sketch
  • When using "external editor" mode, sketch code is updated when the IDE gets focused
  • Added keyboard shortcuts to IDE menus: ALT+F for File, ALT+E for Edit and so on
  • Added support for Dangerous Prototypes Bus Pirate as ISP
  • Added "Close" button to Boards/Libs Managers, in order to help linux people with weird Window Managers
  • Added File > Open Recent menu, showing the last 5 opened sketches
  • Windows: added Arduino Zero drivers
  • Tons of minor fixes
  • libraries:
  • LiquidCrystal fixes.
  • Added SPI Transactions to TFT lib
  • Stepper: support for 5-phase/5-wires motors.
  • Stepper: increased precision in timing calculations.
  • Firmata and Temboo: dropped our vesions, tagged released are downloaded from their respective git repos
  • core:
  • AVR: delayMicroseconds(..) doesn't hang if called with 0.
  • AVR: delayMicroseconds(..), added support for 1Mhz, 12Mhz and 24Mhz.
  • AVR: added missing case in detachInterrupt().
  • SAM: added watchdog routine for Due.
  • AVR+SAM: reworked pulseIn() function to become GCC agnostic
  • AVR+SAM: added pulseInLong() (based on micros()) to help getting good results in interrupt-prone environments
  • AVR: fixed regression in HardwareSerial.flush().

New in Arduino 1.6.4 (May 7, 2015)

  • ide:
  • Added support to Arduino Gemma
  • Restored previous "error" colour in black lower part of the IDE
  • Relaxed IDE checks against libraries versions
  • Fixed colour of 'char' keyword.
  • Tools submenu show selected subentry.
  • Boards and Libraries Managers command line: --install-board "arduino:Arduino SAM Boards (32-bits ARM Cortex-M3):1.6.3" and --install-library "Bridge:1.0.1". Version can be omitted: if omitted, latest version available is automatically picked
  • Warning levels can be set in File > Preferences
  • When compilation fails, editor highlights the reported row
  • Windows and MacOSX: updated bunbled JVM to 1.8.0_45 (latest available atm)
  • Disabled "uncertified" warning (requires avr core >= 1.6.6, sam core >= 1.6.4)
  • Additional boards/cores can be listed specifying comma separated list of package_SOMETHING_index.json url in File > Preferences
  • MacOSX: fixed wrong sketch opened when double clicking on a .ino file
  • Boards and Libraries main files are downloaded directly (no proxy php script), fixing some glitches when using a proxy server
  • Added notification if the bundled AVR core is newer than the one installed through Boards Manager (useful when upgrading the IDE)
  • Fixed error when in Serial and Network discovery that was leaving the Ports menu greyed out
  • IDE now deletes temporary files on exit. When using the CLI, --preserve-temp-files arguments skips deletion
  • libraries:
  • Bridge fixes
  • SD: allow multiple SD instances
  • SD: fix examples with Ethernet shield

New in Arduino 1.6.3 (Apr 2, 2015)

  • ide:
  • Fixed an ArchiveExtractor issue when dealing with native stuff, affecting some linuxes
  • New splashscreen image
  • New editor theme
  • https links were not working, fixed
  • core:
  • Upgraded toolchains: statically compiled, ship with Link Time Optimization plugin (disabled by default)
  • Restored backward compatibility by providing a platform.txt in-memory rewrite: old values (eg: compiler.path) are converted to new values
  • platform.txt rewriting can be disabled if target platform has a "rewriting=disabled" key/value pair set
  • AVR bundle files (core files and toolchain) is again inside IDE "hardware" folder, instead of unpacked into user's home folder at first IDE startup
  • Advise of duplicate libraries after compiling.

New in Arduino 1.6.2 (Mar 30, 2015)

  • ide:
  • Boards and libraries managers, for one click install of additional boards and libraries
  • In platform.txt, pre and post build hooks can now be specified. Example: recipe.hooks.prebuild.0.pattern=echo "Hello {build.source.path}".
  • Windows and MacOSX JVM Xmx halved to 512M
  • Introduced starting splashscreen with progress status: will be used for notifying user of long running startup tasks
  • Available ports list is now generated in background: hence "tools" menu is much faster
  • core:
  • Stream: fixed bug in findUntil routine #2591
  • libraries:
  • EEPROM: Replaced existing library with more complete implementation
  • SD: fixed endless timeout on 32bit core (Due)
  • Ethernet: fixed headers include path
  • SPI: do not influence state of SS pin if it's already been set as output by user sketch
  • Bridge: discard message if received length is bigger than rx buffer

New in Arduino 1.6.1 (Mar 10, 2015)

  • Improved Yun detection for upload via network
  • In platforms.txt "objcopy" recipe is no more tied to the "hex" format
  • Ports in ports list are now grouped by type
  • Upgraded avr-gcc toolchains to 3.4.5
  • Fixed: wrong parsing of boards.txt when using submenu and boards id with underscores
  • Windows: updated bundled JVM to latest 8u31
  • Windows: JVM memory settings can be customized editing arduino.l4j.ini and arduino_debug.l4j.ini files
  • "new" button now behaves as "File -> New..." menu: a new window with an empty sketch is created
  • Windows: opening a lonely sketch caused the IDE to crash. Fixed with a bounty on bountysource
  • Bridge: fixed bug with multiple and failing YunClient.connect calls @sngl
  • Translations updated
  • Improved SoftSerial library and optimized its memory usage
  • Fixed: status board was not changing when using custom menu
  • Fixed: better error message when using a busy serial device
  • Fixed: missing bool operator on EthernetClient
  • Fixed: missing bool operator on SoftSerial
  • Improved library name matching. Avoids conflicts with libraries that bundle files equally named

New in Arduino 1.6.0 (Feb 10, 2015)

  • IDE internals have been refactored and sorted out.
  • The builder and the GUI now have clearly separated source code making it easier
  • for IDE developers to maintain and propose patch.
  • From a user point of view nothing changes and the IDE should behave exactly as before.
  • ide:
  • Autosave on sketch Upload/Verify (Fulvio Ieva)
  • Sketch build process: fixed full rebuild on windows even if not needed
  • Sketch build process: core.a rebuild only if needed (Matthijs Kooijman)
  • Updated AStyle formatter to v2.04: http://astyle.sourceforge.net/notes.html
  • Improved avrdude verbose upload (Matthijs Kooijman)
  • (Mac OSX) Add Exported UTI for ino files, allows quick look to view the content of the file and external editors to syntax highlight as C++ (Matt Lloyd)
  • Updated libastyle to 2.05
  • core:
  • sam: added -MMD flag to let gcc produce dependency files (full rebuild on Arduino Due is now triggered only if needed)
  • libraries:
  • LiquidCrystal: added setRowOffsets function to support different LCD hardware configurations
  • LiquidCrystal: various improvements and optimizations
  • Fixed PROGMEM error in Robot_Control/examples/explore/R06_Wheel_Calibration
  • SD: Fixed SPI transaction mismatch
  • The following changes are included also in the Arduino IDE 1.0.7:
  • libraries:
  • EthernetClien: use IANA recommended ephemeral port range, 49152-65535
  • core:
  • Fixed regression in HardwareSerial::available() introduced

New in Arduino 1.0.6 (Oct 2, 2014)

  • [core]:
  • avr: Improved USB-CDC write speed
  • avr: Improved USB-CDC read code
  • avr: Fixed race condition in USB-CDC transmit
  • avr: Added replacement stub for cstdlib atexit() funciton
  • Fixed wrong NULL pointer handling in Stream class
  • Backported String class from IDE 1.5.x
  • Backported Print class from IDE 1.5.x
  • Backported digitalPinToInterrupt macro from IDE 1.5.x
  • Added initVariant() hook to allow 3rd party variant-specific initialization
  • Added replacement stub for cstdlib atexit() function
  • [ide]:
  • Added compatibility for IDE 1.5.x libraries layout
  • Fix toolchain command line to compile assembler files
  • If two libraries have the same header file use the lib with the same folder name
  • [libraries]:
  • Robot_Control: removed duplicated SPI and Wire
  • Robot_Control: fixed issue on motors being opposite
  • Robot_Control: updated turning algorithm
  • Esplora: added reading form Tinkerkit inputs
  • SoftwareSerial: Fix idle level when initializing with inverted logic
  • fixed a bunch of examples
  • [firmware]:
  • Wifishield: fixed paths on firmware upgrade scripts

New in Arduino 1.5.8 Beta (Oct 2, 2014)

  • [ide]:
  • Find/Replace over multiple tabs
  • Fix wrong "Replace" behavior with empty "Find" field
  • A lot of command-line improvements
  • Cursor is not moved when invoking autoformat
  • [libraries]:
  • SPI: added transaction API
  • FileIO bridge: fixed wrong return value in File::size() for size >32768
  • Updated Temboo to latest version
  • Updates/Fix to various examples
  • [core]:
  • sam: "new" and "delete" do not bring in 50Kb of stdclib anymore
  • Correct implementation of gcc specific internal functions (__cxa_guard_*)
  • Fix for upload problems on Leonardo (and derivative boards based on mega32u4)
  • Small improvements on String class * Fixed size of available flash for mega2560 boards
  • sam: removed useless empty digitalPinToTimer(..) macro stub

New in Arduino 1.5.7 Beta (Jul 7, 2014)

  • [core]:
  • Upgraded AVR toolchain: gcc 4.8.1, avr-libc 1.8.0
  • Upgraded ARM toolchain: gcc 4.8.3-2014q1
  • Upgraded avrdude to version 6.0.1
  • avr: fixed typo in SerialEvent3 handling
  • avr: HardwareSerial support for different size of TX and RX buffer sizes
  • avr: HardwareSerial support for buffer sizes bigger than 256 bytes
  • sam: Added configuration (parity, data bits, stop bits) to Serial1/2/3 of Arduino Due
  • Removed a lot of compiler warnings from Arduino core
  • avr: Fix EXTERNAL_NUM_INTERRUPTS for atmega128rfa1 and atmega256rfr2
  • sam: Fix to Wire::endTransmisson() return value
  • sam: Fix to Wire usage of TWI status register
  • avr: Fixed PROGMEM statements to be compatible with newer avr gcc
  • [ide]:
  • Added support for '-' and '.' in filenames
  • (re)Added 'arduino_debug.exe' in Windows build for debugging purposes
  • Magic baudrate is no longer removed (it was a workaround for RXTX)
  • Allow overriding platform.txt using platform.local.txt
  • Explicitly define compiler.path in avr/platform.txt
  • Make the low available memory message a warning
  • Proceed with upload even if port can't be found
  • Added support for ArduinoISP
  • Windows: added board detection on serial port menu
  • [libraries]:
  • Updated SpaceBrew library
  • Fixed HttpClient::running() function
  • Fixed HttpClient::ready() function
  • Added HttpClient::noCheckSSL() method
  • Improved speed of YunSerialTerminal
  • Fixed CRC of shutdown command on YunSerialTerminal example
  • Updates/Fix to various examples
  • Added Wire.setClock(..) method
  • The following changes are included also in the (not yet released) Arduino IDE 1.0.6:
  • [core]:
  • avr: Improved USB-CDC write speed
  • avr: Improved USB-CDC read code
  • avr: Fixed race condition in USB-CDC transmit
  • Fixed wrong NULL pointer handling in Stream class
  • Added initVariant() hook to allow 3rd party variant-specific initialization
  • [ide]:
  • Fix toolchain command line to compile assembler files
  • If two libraries have the same header file use the lib with the same folder name
  • [libraries]
  • Robot_Control: removed duplicated SPI and Wire
  • Robot_Control: fixed issue on motors being opposite
  • Robot_Control: updated turning algorithm
  • Esplora: added reading form Tinkerkit inputs
  • SoftwareSerial: Fix idle level when initializing with inverted logic
  • [firmware]:
  • Wifishield: fixed paths on firmware upgrade scripts

New in Arduino 1.5.6 Beta (Feb 21, 2014)

  • [ide]:
  • Implemented 1.5 library specification Rev.2
  • Replaced RXTX library with JSSC (Alexey Sokolov)
  • If two libraries provides the same .h file prioritize the library with tha same folder name
  • Improved command-line parsing (Matthijs Kooijman)
  • Windows: added arduino_debug.exe to help debugging errors when launch4j fails to start IDE
  • [libraries]:
  • TFT: warning messages in PImage class and strings inside examples now stored in flash to save RAM.
  • Ethernet: added operator == for EthernetClient class (Norbert Truchsess)
  • Robot_Control: removed embedded copies of Wire and SPI to allow their use in sketch.
  • Old sketches using Robot_Control now must include Wire.h and SPI.h.
  • Robot_Control: fixed issues about motor turning algorithm
  • Bridge: optimized FileIO.doBuffer() (bobh66)
  • [core]:
  • avr: Pile of HardwareSerial improvements (Matthijs Kooijman):
  • Remove duplicate code from HardwareSerial::begin() methods
  • Simplify HardwareSerial::begin() (Rob Tillaart)
  • Use constants for register bit positions in HardwareSerial
  • Fix HardwareSerial::flush() when interrupts are kept disabled for a while
  • Fix lockup when writing to HardwareSerial with interrupts disabled
  • Disable the UDRE interrupt sooner in HardwareSerial (Nathan Blackwell)
  • Put each HardwareSerial instance in its own .cpp file in order to save memory for unused UARTS
  • In HardwareSerial::write, bypass the queue when it's empty in order to
  • improve throughput when using high baudrates (KurtE)
  • sam: Fixed wrap-around bug in delay() (Mark Tillotson)
  • sam: Fixed regression in analogRead() (fails to read multiple channels) (Mark Tillotson)
  • sam: Fixed loops in Reset.cpp (Matthijs Kooijman)
  • sam: Optimized delayMicroseconds() (Rob Tillaart) #1121
  • sam: added itoa() and related functions
  • Optimized Print::print(String&) method, now uses internal string buffer to perform block write
  • Improved portability of String class (maniacbug) #695
  • Make some operators in IPAddress const (Matthijs Kooijman)
  • Fix for compiling assembler files with newer gcc

New in Arduino 1.5.5 Beta Rev 2 (Jan 11, 2014)

  • Signed drivers for Windows 8.1
  • Fixed Windows drivers signature (that prevented installation on some Windows 8.x OS). Now the signature is timestamped and should not expire.

New in Arduino 1.5.5 Beta (Nov 28, 2013)

  • NOTICE:
  • The 1.5 library format is under heavy review on the Arduino Developers mailing list.
  • We suggest to delay the adoption of the new format until a stable 1.5.x is released.
  • [ide]:
  • Added missing keywords: YunServer, YunClient, pow
  • Improved folder ignore: now hidden, starting with a dot, and SCCS folders are ignored
  • Improved auto format:
  • Improved SSH uploader: uses file ~/.ssh/config if available.
  • Allows public key only authentication and ssh servers listening on ports other than 22.
  • Font anti-aliasing now ON by default (users will have to either delete or manually edit their preferences.txt file)
  • Added warning message when opening sketches with additional files with illegal names
  • (windows) Upgraded embedded Java runtime to version 7: much faster startup
  • Improved files open/save dialogs
  • Added line numbers, can be enabled/disabled from preferences
  • Removed check on forbidden file in 1.5 formatted libraries (#1692)
  • (windows) Updated msys-1.0.dll to the latest version (Windows 8.1 compatibility)
  • Using [code] tag instead of [quote] in "Copy for forum". Removed color coding.
  • When an hardware addon reference another core also the libraries are referenced.
  • It's now possible to specify additional custom board parameters from command line.
  • Sketches path can be relative (#1493)
  • Example and Boards are now scrollable.
  • Fixed localization issues that sometimes prevented the IDE to start.
  • Added "Using library..." debugging message in verbose compile.
  • Improved preprocessor (fixes #1653, #1687, #817, #1293, #1245)
  • Fixed StringStartsWithEndsWith, KeyboardMessage, LCD CustomCharacter, Blink without delay, SD List files, Arduino Robot examples
  • Added PID/VID for older Arduinos
  • [libraries]:
  • Bridge: Fixed buffer overflow in File::doBuffer() (dreggy)
  • Bridge: Fixed timeout in Bridge::transfer()
  • Bridge: Fixed return value of Bridge::get(..) (returning 0 with valid data len >0)
  • Bridge: Implemented multi-byte File::read(..)
  • sam: Fixed SPI initialization (when using extended API and multiple CS)
  • Partially fixed the behavior of EthernetClient::flush(), now it doesn't discard
  • incoming data BUT it doesn't wait for outgoing data to be successfully transmitted.
  • Esplora: Added support for display GREENTAB_L
  • [core]:
  • sam: Fixed wrong initialization for ADC timings (analogRead speed Arduino DUE improved by a factor x10)
  • avr: Fixed wrong extended fuses on Arduino Yún when using external programmer
  • Added LED_BUILTIN metadata in variant files
  • avr: Refactored Mega* variants definitions in boards.txt (
  • avr: Removed File object destructor. In order to free memory allocated by a File object the safest way is to call its close() method
  • Added digitalPinToInterrupt variant macro
  • avr: added variant file for Arduino Ethernet
  • Added SERIAL_* metadata in variants files

New in Arduino 1.0.5 / 1.5.4 Beta (Nov 28, 2013)

  • NOTICE:
  • The 1.5 library format is under heavy review on the Arduino Developers mailing list.
  • We suggest to delay the adoption of the new format until a stable 1.5.x is released.
  • [ide]:
  • Added missing keywords: YunServer, YunClient, pow
  • Improved folder ignore: now hidden, starting with a dot, and SCCS folders are ignored
  • Improved auto format:
  • Improved SSH uploader: uses file ~/.ssh/config if available.
  • Allows public key only authentication and ssh servers listening on ports other than 22.
  • Font anti-aliasing now ON by default (users will have to either delete or manually edit their preferences.txt file)
  • Added warning message when opening sketches with additional files with illegal names
  • (windows) Upgraded embedded Java runtime to version 7: much faster startup
  • Improved files open/save dialogs
  • Added line numbers, can be enabled/disabled from preferences
  • Removed check on forbidden file in 1.5 formatted libraries (#1692)
  • (windows) Updated msys-1.0.dll to the latest version (Windows 8.1 compatibility)
  • Using [code] tag instead of [quote] in "Copy for forum". Removed color coding.
  • When an hardware addon reference another core also the libraries are referenced.
  • It's now possible to specify additional custom board parameters from command line.
  • Sketches path can be relative (#1493)
  • Example and Boards are now scrollable.
  • Fixed localization issues that sometimes prevented the IDE to start.
  • Added "Using library..." debugging message in verbose compile.
  • Improved preprocessor (fixes #1653, #1687, #817, #1293, #1245)
  • Fixed StringStartsWithEndsWith, KeyboardMessage, LCD CustomCharacter, Blink without delay, SD List files, Arduino Robot examples
  • Added PID/VID for older Arduinos
  • [libraries]:
  • Bridge: Fixed buffer overflow in File::doBuffer() (dreggy)
  • Bridge: Fixed timeout in Bridge::transfer()
  • Bridge: Fixed return value of Bridge::get(..) (returning 0 with valid data len >0)
  • Bridge: Implemented multi-byte File::read(..)
  • sam: Fixed SPI initialization (when using extended API and multiple CS)
  • Partially fixed the behavior of EthernetClient::flush(), now it doesn't discard
  • incoming data BUT it doesn't wait for outgoing data to be successfully transmitted.
  • Esplora: Added support for display GREENTAB_L
  • [core]:
  • sam: Fixed wrong initialization for ADC timings (analogRead speed Arduino DUE improved by a factor x10)
  • avr: Fixed wrong extended fuses on Arduino Yún when using external programmer
  • Added LED_BUILTIN metadata in variant files
  • avr: Refactored Mega* variants definitions in boards.txt (Kristian Sloth Lauszus)
  • avr: Removed File object destructor. In order to free memory allocated by a File object the safest way is to call its close() method
  • Added digitalPinToInterrupt variant macro (Paul Stoffregen)
  • avr: added variant file for Arduino Ethernet
  • Added SERIAL_* metadata in variants files (Paul Stoffregen)

New in Arduino 1.5.4 Beta (Sep 11, 2013)

  • [ide]
  • Revert to English locale if the system default is not available
  • Added support for Arduino Yun
  • Autodetect of boards connected to each serial port
  • Network upload and discovery for Arduino Yun
  • [libraries]
  • sam: fixed wrong SPI initialization (noblepepper)
  • updated all instances of Adafruit_GFX to the latest version
  • added libraries for Arduino Yun
  • [core]
  • avr: fixed bug introduced with recent optimizations in HardwareSerial (atmega8 cpu) (darryl)

New in Arduino 1.5.3 Beta (Sep 2, 2013)

  • [ide]
  • Removed useless baud rates from serial monitor
  • Fixed some minor IDE UI bugs (Shigeru Kanemoto)
  • Added support for new 1.5 Library format
  • Pass board type from boards.txt
  • Display estimated RAM usage after compile (Loren M. Lang)
  • Import library menu is now scrollable
  • Scrollable menus can now be scrolled with the mouse wheel
  • [arduino core]
  • sam: Fixed delayMicrosecond() when interrupts are disabled
  • sam: Upgraded libsam, and added missing modules (CAN, ETH, etc.) (Thibaut Viard)
  • sam: Added compatibility for avr/pgmspace.h (Paul Stoffregen)
  • sam: Added serialEvent*() support
  • sam: Fixed micros() to work with inside interrupts. (stimmer)
  • avr: Added support for Flash strings on String class (Jantje)
  • Added support for floating point numbers in String class (Tevin Zhang, SebiTimeWaster)
  • sam: Fixed String buffer overflows (Paul Stoffregen)
  • avr: Added recipe for assembly files (C. A. Church)
  • avr: Use analogPinToChannel if it's defined (Kristian Sloth Lauszus)
  • avr: Optimized HardwareSerial buffer (Matthijs Kooijman)
  • removed unused flags from String (free 1 byte of SRAM)
  • [libraries]
  • sam: Added CAN library (still in early stage of development) (Palliser)
  • sam: Bugfix SPI library: begin() after end() now works (stimmer)
  • sam: Bugfix SPI library: incorrent pin configuration in non-extended mode.
  • Ported all libraries to new 1.5 format
  • Updated Firmata to version 2.3.6 (Jeff Hoefs)
  • [firmwares]
  • Arduino Due: fixed USB2Serial garbage at startup.
  • [other]
  • Merged all improvements made in Arduino IDE 1.0.5

New in Arduino 1.0.5 (May 18, 2013)

  • core:
  • [avr] malloc bug: backported avr-libc 1.8.0 implementation
  • avr] removed deprecated interrupt handlers causing compiler issues with newer avr-gcc.
  • [avr] added c_str() method to String
  • [avr] Stream "_timeout" field and related methods are now protected
  • libraries:
  • Upgrades to WiFi library
  • Fixed a bunch of examples
  • Added Arduino Robot libraries
  • Added TFT display library
  • firmwares:
  • Upgrades to WiFi firmwares
  • ide:
  • Backport from 1.5: install Library from .zip file or folder
  • Updated windows drivers
  • Added Windows installer

New in Arduino 1.0.4 (Mar 11, 2013)

  • core:
  • Fixed malloc bug (Paul Stoffregen)
  • libraries:
  • Fixed memory leak when calling Ethernet.begin() multiple times.
  • Fixed SD example listfiles.ino
  • Fixed a lot of Esplora examples
  • Added GSM library
  • environment:
  • Sort entries in preferences.txt
  • Fixed some wrong translations
  • Fixed NPE due to permissions IO error
  • Updated drivers for Windows (all-in-one, signature for Win8)
  • bootloaders:
  • Fixed a bunch of bugs on Mega2560's bootloader

New in Arduino 1.5.2 Beta (Feb 8, 2013)

  • ide:
  • Scrollable editor tabs
  • Scrollable menus
  • Portable Arduino
  • Default sketchbook folder for linux is now "Arduino"
  • Fixed IDE startup bug "Menu has no enabled items"
  • Command line build.
  • Fixed some language strings
  • Fix to boards.txt: added Micro and fixed Lilypad bootloader path
  • Removed check for ".h" existence in libraries.
  • Deleting tab from IDE does not delete from temporary folder
  • Fixed NPE when unknown boards/platforms are selected in preferences
  • Extended command line build flags
  • Undo/Redo move cursor and focus to where the code has been undone/redone
  • arduino core:
  • sam: attachInterrupt() now works also on pins that belongs to PORTD
  • sam: portOutputRegister() is now writeable.
  • sam: fixed issue on weak-symbol for some interrupt handlers
  • sam: fixed BSoD on some Windows machine
  • sam: added CANRX1/CANTX1 pins 88/89 (same physical pin for 66/53)
  • sam: fixed analogWrite when used in very thight write loops
  • sam: fixed SerialUSB.write() while sending big buffers
  • sam: SerialUSB receive buffer size is now 512
  • sam: Fixed SerialUSB data handshake when host sends a lot of data
  • libraries:
  • sam: Added Servo library
  • sam: Added WiFi library
  • Fixed USBHost MouseController example
  • other:
  • Merged all improvements made in Arduino IDE 1.0.3
  • Merged all improvements made in Arduino IDE 1.0.4

New in Arduino 1.0.3 (Dec 11, 2012)

  • hardware:
  • Added support for the Arduino Esplora
  • core:
  • Fixed power-up-starts-bootloader in Leonardo (and derivative) bootloaders.
  • Fixed digital_pin_to_timer_PGM array in Leonardo variant.
  • Published updated WiFi firmware
  • Updated source code for atmega8 bootloader
  • libraries:
  • Added 600 baud support in SoftwareSerial

New in Arduino 1.0.2 (Nov 23, 2012)

  • hardware:
  • Added support for the Arduino Micro.
  • Added support for the LilyPad Arduino USB.
  • For Arduino Mega, having avrdude use "wiring" not "stk500v2" for uploads (to improve auto-reset behavior).
  • environment:
  • Find-In-Reference now works whether or not text is selected.
  • Not generating prototypes for functions that already have them.
  • Improved line numbers for error messages.
  • Automatically create libraries folder in the sketchbook.
  • Tutorial on installing libraries (linked from readme.txt in the libraries folder).
  • Fix to allow selection of Norwegian.
  • Fix to race condition / occasional error in compilation.
  • Don't break long C++ comments during auto-format.
  • core / libraries:
  • Included WiFi library and wifi shield firmware.
  • Added ability to specify serial configuration (data bits, stop bits and parity check) in Serial.begin().
  • Avoided overruns of the incoming serial (CDC) buffer on the Leonardo.
  • Avoided auto-reset of the Leonardo when opening serial port after upload without specifying a baud rate.
  • Fix for tone() on the Leonardo.
  • Fix for SD library on Leonardo.
  • Added other write functions on Leonardo.
  • Added support for Leonardo interrupts 2 and 3.
  • Print ovf, inf, or nan accordingly in Serial.print().
  • Fix initialization of SPI data lines.
  • Serial.flush() waits for last byte to transmit.
  • Adding overloads so Serial.write(0) works.
  • examples:
  • Included examples for the starter kit.

New in Arduino 0022 Alpha (Apr 20, 2011)

  • Core / libraries:
  • Adding an SD card library based on sdfatlib by Bill Greiman and the MemoryCard library by Philip Lindsay (follower) for SparkFun.
  • Added character manipulation macros (from Wiring): isAlphaNumeric(), isAlpha(), isAscii(), isWhitespace(), isControl(), isDigit(), isGraph(), isLowerCase(), isPrintable(), isPunct(), isSpace(), isUpperCase(), isHexadecimalDigit(), toAscii(), toLowerCase(), toLowerCase().
  • Added String.toInt() function.
  • Refactoring core to use register-based, not CPU-based, #ifdefs.
  • Modification of serial baud rate calculation to match bootloader and 8U2 firmware at 57600 baud.
  • Fixed bug in tone() function.
  • Fixed SPI.setClockDivider() function.
  • Fixed EEPROM library on Mega 2560.
  • Hardware serial receive interrupt optimization.
  • Applying the timeout parameter of pulseIn() during measurement of the pulse, not just while waiting for it.
  • Environment:
  • Fixed problem with copy as html and angle brackets.
  • Showing serial port selection dialog if serial port not found on upload.
  • Remembering serial monitor window size and line ending selection.
  • Replaced oro.jar regular expressions with java.regex ones
  • Building the user sketch before the core or libraries, so errors appear faster.
  • Setting application icon under Windows.

New in Arduino 0011 Alpha (Jul 16, 2008)

  • Improved reliability for uploading to Arduino BT.
  • Better support for bootloader burning with a parallel programmer.
  • Fixed Find in Reference.
  • Added map() function for mapping values from one range to another.
  • Added analogReference() function.
  • Added interrupts() and noInterrupts() functions.
  • Added degrees() and radians() functions.
  • Added timeout parameter (in microseconds) to pulseIn(); default is 1 second.
  • Support for uploading sketch using a programmer.
  • Improved detection of functions that need prototyping.
  • Placing function prototypes after #include's and #define's.
  • No longer moving #include statements to the top of the sketch.
  • Can now drag .pde files onto the Arduino dock icon on Mac OS X. Thanks to Peter Sgouros.
  • New script for downloading the reference from Tom Pollard. Thanks Tom!
  • Miscellaneous Mac OS X and other patches from Wim Lewis. Thanks Wim!
  • Updated Mac OS X FTDI drivers.