Nuovi sviluppi IDE 1.8.x

13/02/2020: Disponibile la versione 1.8.12 --> http://arduino.cc/en/Main/Software

ARDUINO 1.8.12 2020.02.13

[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

27/01/2020: Disponibile la versione 1.8.11

ARDUINO 1.8.11 2020.01.27

[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

15/03/2019: Disponibile la versione 1.8.9

ARDUINO 1.8.9 2019.03.15

[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

ARDUINO 1.8.8 2018.12.07

[ide] * Fixed: command line parsing of version parameters when installing cores/libraries * Platform indexes are now downloaded using https * Fixed: on some newer linux distributions, 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

ARDUINO 1.8.7 2018.09.11

(bugfix service release)

[ide] * Fixed: IDE doesn't start if library_index.json is corrupted. * 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

23/08/2018: Disponibile la versione 1.8.6

ARDUINO 1.8.6 2018.08.23

[ide] * Updated arduino-builder to 1.4.0: - parallel build (improve compile speed) - better reuse of already compiled files - Windows: fixed build for sketch stored under OneDrive cloud folders * Added translations for library types. Thanks @ReAlUA * Added scroller in programmers menu. * Added "accelerator" in scrollable menu, press "a" key while scrolling * Keep "Board Manager" menu item always as first in the menu * "Manage Libraries" is now also in the "Tools" menu. Thanks @feikname * Compiler errors now have both column and line * Serial monitor how has "Show Timestamp" option. Thanks @MichalSy * Improved DPI detection for hi-resolution montior on Linux * Added copy/paste contextual menu in Find/Replace text fields * Fixed long IDE startup time when some virtual/not-connected network interfaces are present * Fixed inconsistent line-endings when saving files on Windows * mdns: Make board disappear via TTL instead of reachability. Thanks @kurtgo * Library Manager: display install/remove buttons with mouse on-hover instead of mouse click * Board Manager: fixed some rare case with corrupted index download * Windows: removed some debug output when running the IDE from command line * Support selectable user-defined themes. User's theme are zip files inside the sketchbook "theme" folder * Library Manager: library search now search also for headers (.h) declared by the library in library.properties * Added "--version" to the CLI. Thanks @yohsuke * Fixed Serial Plotter/Monitor permanently disabled if Plotter fails to open * Fixed window title that sometimes is not updated on "Save as...". Thanks @JxJxJxMxNxS * Fixed keybindings for Increase/Decrease font size * Improved accessibility in the Preferences dialog. Thanks @coreyknapp

[core] * AVR: Set Optiboot as default bootloader for Nano. This is the bootloader installed on new Arduino Nano boards. If you have a Nano with the old bootloader you must select Tools > Processor > ATmega328P (Old Bootloader) to upload. * AVR core has been moved to its own repository: https://github.com/arduino/ArduinoCore-avr * Updated toolchain to gcc 5.4.0

[wifi101-firmware] * SECURITY FIX: Released fix for WPA2 KRACK vulnerability (latest WINC1500 firmware 19.5.2).

02/10/2017: Disponibile la versione 1.8.5

ARDUINO 1.8.5 2017.09.29

(bugfix service release)

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

Io compilo dai repo ogni settimana, ho sempre la versione più aggiornata :P

Aggiungo che, secondo me, le versione precedenti alla 1.0 dovrebbero essere considerate ormai deprecate. :blush:

PaoloP: Aggiungo che, secondo me, le versione precedenti alla 1.0 dovrebbero essere considerate ormai deprecate. :blush:

Le versioni antecedenti alla 1.0.1, tra quelle deprecate ci metterei anche la 1.0 per i noti problemi relativi al bug dello sketch ArduinoISP.

PaoloP: Aggiungo che, secondo me, le versione precedenti alla 1.0 dovrebbero essere considerate ormai deprecate. :blush:

NON SIA MAIIIIII!!! Ogni volta che qualcosa non va, cambio percorso e tiro fuori dalla sua cartella avvolta nel velluto, la mia fiera 0022, compagna di tante avventure e mai un tradimento :D La 1.0 NON ha mai avuto il piacere di incontrare i miei computer ]:D ne sono stato sempre fieramente alla larga. Invece questo aggiornamento lo farò appena ho un minuto (circa Ferragosto, credo :disappointed_relieved:)

Neanch'io ho mai messo la 1.0, a dire il vero neanche la 0022, e sono passato direttamente alla 1.0.1. Ma da quando ci fu quel problema con il menu a tendina di selezione della velocità seriale dell'IDE compilo sempre dai sorgenti.

leo72:
Ma da quando ci fu quel problema con il menu a tendina di selezione della velocità seriale dell’IDE

Problema presente solo se usi la versione localizzata invece di quella in Inglese, mi pare sia ancora presente anche sulla 1.0.3, non ne sono sicuro perché io uso solo la versione in Inglese e mai quella localizzata in Italiano.

E' stato risolto, non mi ricordo se nella 1.0.2 o nella 1.0.3

1.0.2, l'ho scaricata apposta :-)

Fondamentale questo: * Fixed memory leak when calling Ethernet.begin() multiple times

uhmm in teoria la begin la dovresti chiamare una volta, e poi il resto sono server.available()…

QUETSO! -----> Fixed malloc bug <------ è il vero bug fix della versione

lesto:
uhmm in teoria la begin la dovresti chiamare una volta, e poi il resto sono server.available()…

QUETSO! -----> Fixed malloc bug <------ è il vero bug fix della versione

No, sei fuori strada :wink:
La 1.0.4 è stata rilasciata per introdurre la libreria GSM per il nuovo shield dell’Arduino di cui si parla qui XD

lesto:
QUETSO! -----> Fixed malloc bug <------ è il vero bug fix della versione

Opinione personale, usare la malloc su un sistemino basato su una modesta mcu 8 bit con 2k di ram è come pestarsi le dita con una mazza da 5 kg :grin:

Tra l'altro, secondo una roadmap apparsa tempo fa sulla mailing list, questa dovrebbe essere l'ultima versione della serie 1.0.x Le prossima sarà la versione stabile della 1.5.x che ingloberà (com'è già adesso) anche il core di Arduino, oltre che quello della DUE. Inoltre stanno sviluppando un repository unificato per le librerie di terze parti.

astrobeed:

lesto:
QUETSO! -----> Fixed malloc bug <------ è il vero bug fix della versione

Opinione personale, usare la malloc su un sistemino basato su una modesta mcu 8 bit con 2k di ram è come pestarsi le dita con una mazza da 5 kg :grin:

ma se non erro la malloc viene usata molto spesso nelle librerie arduino, in primis la String, che usiamo praticamente tutti.

lesto: ma se non erro la malloc viene usata molto spesso nelle librerie arduino, in primis la String, che usiamo praticamente tutti.

Direi proprio di no, il core di Arduino non usa la malloc() e nemmeno la String che è solo un tipo dato del C++, la definizione è allocata nello stack, i dati nel heap, idem per le varie funzioni della avrlibc.

in arduino-1.0.4/hardware/arduino/cores/arduino/ c'è la classe WSrtring.hpèerò mi son sbagliato perchè usa solo la realloc() e non la malloc(), però per intenderci la malloc viene usata e spesso, tanto che anche l'operatore "new" la usa (che poi anche l'uso della new sia deprecabile è un'altra storia)

lesto: però per intenderci la malloc viene usata e spesso, tanto che anche l'operatore "new" la usa (che poi anche l'uso della new sia deprecabile è un'altra storia)

Ok, fammi vedere il codice sorgente dove viene usata la malloc, io dico che non lo trovi.

trovata in: libraries/Firmata/Firmata.cpp libraries/SD/File.cpp

(e nel firmware della wifiShield ma non credo che lì venga usata la malloc() "di arduino")

lesto: ma non credo che lì venga usata la malloc() "di arduino"

Non esiste la malloc() di Arduino, è una funzione del C ben definita e fa parte dello standard del linguaggio, poi tocca vedere come viene implementata dai vari compilatori.