Release Notes

PlatformIO 3.0

3.0.0 (2016-??-??)

  • PlatformIO Plus
  • Decentralized Development Platforms
    • Development platform manifest “platform.json” and open source development platforms
    • Semantic Versioning for platform commands, development platforms and dependent packages
    • Custom package repositories
    • External embedded board configuration files, isolated build scripts (issue #479)
    • Embedded Board compatibility with more than one development platform (issue #456)
  • Library Manager 3.0
    • Project dependencies per build environment using lib_deps option (issue #413)
    • Semantic Versioning for library commands and dependencies (issue #410)
    • Multiple library storages: Project’s Local, PlatformIO’s Global or Custom (issue #475)
    • Install library by name (issue #414)
    • Depend on a library using VCS URL (GitHub, Git, ARM mbed code registry, Hg, SVN) (issue #498)
    • Strict search for library dependencies (issue #588)
    • Allowed library.json to specify sources other than PlatformIO’s Repository (issue #461)
  • New Intelligent Library Build System
    • Library Dependency Finder that interprets C/C++ Preprocessor conditional macros with deep search behavior
    • Check library compatibility with project environment before building (issue #415)
    • Control Library Dependency Finder for compatibility using lib_compat_mode option
    • Custom library storages/directories with lib_extra_dirs option (issue #537)
    • Handle extra build flags, source filters and build script from library.json (issue #289)
    • Allowed to disable library archiving (*.ar) (issue #719)
    • Show detailed build information about dependent libraries (issue #617)
    • Support for the 3rd party manifests (Arduino IDE “library.properties” and ARM mbed “module.json”)
  • Removed enable_prompts setting. Now, all PlatformIO CLI is non-blocking!
  • Switched to SSL PlatformIO API
  • Renamed platformio serialports command to platformio device
  • Build System: Attach custom Before/Pre and After/Post actions for targets (issue #542)
  • Print human-readable information when processing environments without -v, --verbose option (issue #721)
  • Added license field to library.json (issue #522)
  • Warn about unknown options in project configuration file platformio.ini (issue #740)
  • Stopped supporting Python 2.6
  • Development platform Atmel SAM
    • Fixed missing analog ports for Adafruit Feather M0 Bluefruit (issue #2)
  • Development platform Nordic nRF51
    • Added support for BBC micro:bit board (issue #709)
  • Development platform ST STM32
    • Added support for BluePill F103C8 board (pull #2)
  • Development platform Teensy
    • Updated Arduino Framework to v1.29 (issue #2)

PlatformIO 2.0

2.11.2 (2016-08-02)

  • Improved support for Microchip PIC32 development platform and ChipKIT boards (issue #438)
  • Added support for Pinoccio Scout board (issue #52)
  • Added support for Teensy USB Features (HID, SERIAL_HID, DISK, DISK_SDFLASH, MIDI, etc.) (issue #722)
  • Switched to built-in GCC LwIP library for Espressif development platform
  • Added support for local --echo for Serial Port Monitor (issue #733)
  • Updated udev rules for the new STM32F407DISCOVERY boards (issue #731)
  • Implemented firmware merging with base firmware for Nordic nRF51 development platform (issue #500, issue #533)
  • Fixed Project Generator for ESP8266 and ARM mbed based projects (resolves incorrect linter errors)
  • Fixed broken LD Script for Element14 chipKIT Pi board (issue #725)
  • Fixed firmware uploading to Atmel SAMD21-XPRO board using ARM mbed framework (issue #732)

2.11.1 (2016-07-12)

  • Added support for Arduino M0, M0 Pro and Tian boards (issue #472)
  • Added support for Microchip chipKIT Lenny board
  • Updated Microchip PIC32 Arduino framework to v1.2.1
  • Documented uploading of EEPROM data (from EEMEM directive)
  • Added Rebuild C/C++ Project Index target to CLion and Eclipse IDEs
  • Improved project generator for CLion IDE
  • Added udev rules for OpenOCD CMSIS-DAP adapters (issue #718)
  • Auto-remove project cache when PlatformIO is upgraded
  • Keep user changes for .gitignore file when re-generate/update project data
  • Ignore [platformio] section from custom project configuration file when platformio ci –project-conf command is used
  • Fixed missed --boot flag for the firmware uploader for ATSAM3X8E Cortex-M3 MCU based boards (Arduino Due, etc) (issue #710)
  • Fixed missing trailing \ for the source files list when generate project for Qt Creator IDE (issue #711)
  • Split source files to HEADERS and SOURCES when generate project for Qt Creator IDE (issue #713)

2.11.0 (2016-06-28)

  • New ESP8266-based boards: Generic ESP8285 Module, Phoenix 1.0 & 2.0, WifInfo
  • Added support for Arduino M0 Pro board (issue #472)
  • Added support for Arduino MKR1000 board (issue #620)
  • Added support for Adafruit Feather M0, SparkFun SAMD21 and SparkFun SAMD21 Mini Breakout boards (issue #520)
  • Updated Arduino ESP8266 core for Espressif platform to 2.3.0
  • Better removing unnecessary flags using build_unflags option (issue #698)
  • Fixed issue with platformio init --ide command for Python 2.6

2.10.3 (2016-06-15)

  • Fixed issue with platformio init --ide command

2.10.2 (2016-06-15)

  • Added support for ST Nucleo L031K6 board to ARM mbed framework
  • Process build_unflags option for ARM mbed framework
  • Updated Intel ARC32 Arduino framework to v1.0.6 (issue #695)
  • Improved a check of program size before uploading to the board
  • Fixed issue with ARM mbed framework -u _printf_float and -u _scanf_float when parsing $LINKFLAGS
  • Fixed issue with ARM mbed framework and extra includes for the custom boards, such as Seeeduino Arch Pro

2.10.1 (2016-06-13)

  • Re-submit a package to PyPI

2.10.0 (2016-06-13)

  • Added support for emonPi, the OpenEnergyMonitor system (issue #687)
  • Added support for SPL framework for STM32F0 boards (issue #683)
  • Added support for Arduboy DevKit, the game system the size of a credit card
  • Updated ARM mbed framework package to v121
  • Check program size before uploading to the board (issue #689)
  • Improved firmware uploading to Arduino Leonardo based boards (issue #691)
  • Fixed issue with -L relative/path when parsing build_flags (issue #688)

2.9.4 (2016-06-04)

  • Show udev warning only for the Linux OS while uploading firmware

2.9.3 (2016-06-03)

  • Added support for Arduboy, the game system the size of a credit card
  • Updated 99-platformio-udev.rules for Linux OS
  • Refactored firmware uploading to the embedded boards with SAM-BA bootloader

2.9.2 (2016-06-02)

  • Simplified Continuous Integration with AppVeyor (issue #671)
  • Automatically add source directory to CPPPATH of Build System
  • Added support for Silicon Labs SLSTK3401A (Pearl Gecko) and MultiTech mDot F411 ARM mbed based boards
  • Added support for MightyCore ATmega8535 board (issue #585)
  • Added stlink as the default uploader for STM32 Discovery boards (issue #665)
  • Use HTTP mirror for Package Manager in a case with SSL errors (issue #645)
  • Improved firmware uploading to Arduino Leonardo/Due based boards
  • Fixed bug with env_default when pio run -e is used
  • Fixed issue with src_filter option for Windows OS (issue #652)
  • Fixed configuration data for TI LaunchPads based on msp430fr4133 and msp430fr6989 MCUs (issue #676)
  • Fixed issue with ARM mbed framework and multiple definition errors on FRDM-KL46Z board (issue #641)
  • Fixed issue with ARM mbed framework when abstract class breaks compile for LPC1768 (issue #666)

2.9.1 (2016-04-30)

  • Handle prototype pointers while converting *.ino to .cpp (issue #639)

2.9.0 (2016-04-28)

  • Project generator for CodeBlocks IDE (issue #600)
  • New Lattice iCE40 FPGA development platform with support for Lattice iCEstick FPGA Evaluation Kit and BQ IceZUM Alhambra FPGA (issue #480)
  • New Intel ARC 32-bit development platform with support for Arduino/Genuino 101 board (issue #535)
  • New Microchip PIC32 development platform with support for 20+ different PIC32 based boards (issue #438)
  • New RTOS and build Framework named Simba (issue #412)
  • New boards for ARM mbed framework: ST Nucleo F410RB, ST Nucleo L073RZ and BBC micro:bit
  • Added support for Arduino.Org boards: Arduino Leonardo ETH, Arduino Yun Mini, Arduino Industrial 101 and Linino One (issue #472)
  • Added support for Generic ATTiny boards: ATTiny13, ATTiny24, ATTiny25, ATTiny45 and ATTiny85 (issue #636)
  • Added support for MightyCore boards: ATmega1284, ATmega644, ATmega324, ATmega164, ATmega32, ATmega16 and ATmega8535 (issue #585)
  • Added support for TI MSP430 boards: TI LaunchPad w/ msp430fr4133 and TI LaunchPad w/ msp430fr6989
  • Updated Arduino core for Espressif platform to 2.2.0 (issue #627)
  • Updated native SDK for ESP8266 to 1.5 (issue #366)
  • PlatformIO Library Registry in JSON format! Implemented --json-output and --page options for platformio lib search command (issue #604)
  • Allowed to specify default environments env_default which should be processed by default with platformio run command (issue #576)
  • Allowed to unflag(remove) base/initial flags using build_unflags option (issue #559)
  • Allowed multiple VID/PID pairs when detecting serial ports (issue #632)
  • Automatically add -DUSB_MANUFACTURER with vendor’s name (issue #631)
  • Automatically reboot Teensy board after upload when Teensy Loader GUI is used (issue #609)
  • Refactored source code converter from *.ino to *.cpp (issue #610)
  • Forced -std=gnu++11 for Atmel SAM development platform (issue #601)
  • Don’t check OS type for ARM mbed-enabled boards and ST STM32 development platform before uploading to disk (issue #596)
  • Fixed broken compilation for Atmel SAMD based boards except Arduino Due (issue #598)
  • Fixed firmware uploading using serial port with spaces in the path
  • Fixed cache system when project’s root directory is used as src_dir (issue #635)

2.8.6 (2016-03-22)

  • Launched PlatformIO Community Forums (issue #530)
  • Added support for ARM mbed-enabled board Seed Arch Max (STM32F407VET6) (issue #572)
  • Improved DNS lookup for PlatformIO API
  • Updated Arduino Wiring-based framework to the latest version for Atmel AVR/SAM development platforms
  • Updated “Teensy Loader CLI” and fixed uploading of large .hex files (issue #568)
  • Updated the support for Sanguino Boards (issue #586)
  • Better handling of used boards when re-initialize/update project
  • Improved support for non-Unicode user profiles for Windows OS
  • Disabled progress bar for download operations when prompts are disabled
  • Fixed multiple definition errors for ST STM32 development platform and ARM mbed framework (issue #571)
  • Fixed invalid board parameters (reset method and baudrate) for a few ESP8266 based boards
  • Fixed “KeyError: ‘content-length’” in PlatformIO Download Manager (issue #591)

2.8.5 (2016-03-07)

2.8.4 (2016-02-17)

2.8.3 (2016-02-02)

  • Better integration of PlatformIO Builder with PlatformIO IDE Linter
  • Fixed issue with removing temporary file while converting *.ino to *.cpp
  • Fixed missing dependency (mbed framework) for Atmel SAM development platform (issue #487)

2.8.2 (2016-01-29)

  • Corrected RAM size for NXP LPC1768 based boards (issue #484)
  • Exclude only test and tests folders from build process
  • Reverted -Wl,-whole-archive hook for ST STM32 and mbed

2.8.1 (2016-01-29)

  • Fixed a bug with Project Initialization in PlatformIO IDE

2.8.0 (2016-01-29)

2.7.1 (2016-01-06)

  • Initial support for Arduino Zero board (issue #356)
  • Added support for completions to Atom text editor using .clang_complete
  • Generate default targets for supported IDE (CLion, Eclipse IDE, Emacs, Sublime Text, VIM): Build, Clean, Upload, Upload SPIFFS image, Upload using Programmer, Update installed platforms and libraries (issue #427)
  • Updated Teensy Arduino Framework to 1.27 (issue #434)
  • Fixed uploading of EEPROM data using uploadeep target for Atmel AVR development platform
  • Fixed project generator for CLion IDE (issue #422)
  • Fixed package shasum validation on Mac OS X 10.11.2 (issue #429)
  • Fixed CMakeLists.txt add_executable has only one source file (issue #421)

2.7.0 (2015-12-30)

Happy New Year!

  • Moved SCons to PlatformIO packages. PlatformIO does not require SCons to be installed in your system. Significantly simplified installation process of PlatformIO. pip install platformio rocks!
  • Implemented uploading files to file system of ESP8266 SPIFFS (including OTA) (issue #382)
  • Added support for the new Adafruit boards Bluefruit Micro and Feather (issue #403)
  • Added support for RFDuino (issue #319)
  • Project generator for Emacs text editor (pull #404)
  • Updated Arduino framework for Atmel AVR development platform to 1.6.7
  • Documented firmware uploading for Atmel AVR development platform using Programmers: AVR ISP, AVRISP mkII, USBtinyISP, USBasp, Parallel Programmer and Arduino as ISP
  • Fixed issue with current Python interpreter for Python-based tools (issue #417)

2.6.3 (2015-12-21)

  • Restored support for Espressif ESP8266 ESP-01 1MB board (ready for OTA)
  • Fixed invalid ROM size for ESP8266-based boards (issue #396)

2.6.2 (2015-12-21)

  • Removed SCons from requirements list. PlatformIO will try to install it automatically, otherwise users need to install it manually
  • Fixed ChunkedEncodingError when SF connection is broken (issue #356)

2.6.1 (2015-12-18)

  • Added support for the new ESP8266-based boards (SparkFun ESP8266 Thing, NodeMCU 0.9 & 1.0, Olimex MOD-WIFI-ESP8266(-DEV), Adafruit HUZZAH ESP8266, ESPino, SweetPea ESP-210, WeMos D1, WeMos D1 mini) to Espressif development platform
  • Created public platformio-pkg-ldscripts repository for LD scripts. Moved common configuration for ESP8266 MCU to esp8266.flash.common.ld (issue #379)
  • Improved documentation for Espressif development platform: OTA update, custom Flash Size, Upload Speed and CPU frequency
  • Fixed reset method for Espressif NodeMCU (ESP-12E Module) (issue #380)
  • Fixed issue with code builder when build path contains spaces (issue #387)
  • Fixed project generator for Eclipse IDE and “duplicate path entries found in project path” (issue #383)

2.6.0 (2015-12-15)

  • Install only required packages depending on build environment (issue #308)
  • Added support for Raspberry Pi WiringPi framework (issue #372)
  • Implemented Over The Air (OTA) upgrades for Espressif development platform. (issue #365)
  • Updated CMSIS framework and added CMSIS support for Nucleo F401RE board (issue #373)
  • Added support for Espressif ESP8266 ESP-01-1MB board (ready for OTA)
  • Handle upload_flags option in platformio.ini (issue #368)
  • Improved PlatformIO installation on the Mac OS X El Capitan

2.5.0 (2015-12-08)

2.4.1 (2015-12-01)

  • Restored PLATFORMIO macros with the current version

2.4.0 (2015-12-01)

  • Added support for the new boards: Atmel ATSAMR21-XPRO, Atmel SAML21-XPRO-B, Atmel SAMD21-XPRO, ST 32F469IDISCOVERY, ST 32L476GDISCOVERY, ST Nucleo F031K6, ST Nucleo F042K6, ST Nucleo F303K8 and ST Nucleo L476RG
  • Updated Arduino core for Espressif platform to 2.0.0 (issue #345)
  • Added to FAQ explanation of Can not compile a library that compiles without issue with Arduino IDE (issue #331)
  • Fixed ESP-12E flash size (pull #333)
  • Fixed configuration for LowPowerLab MoteinoMEGA board (issue #335)
  • Fixed “LockFailed: failed to create appstate.json.lock” error for Windows
  • Fixed relative include path for preprocessor using build_flags (issue #271)

2.3.5 (2015-11-18)

2.3.4 (2015-10-13)

2.3.3 (2015-10-02)

  • Added support for LightBlue Bean board (pull #292)
  • Added support for ST Nucleo F446RE board (pull #293)
  • Fixed broken lock file for “appstate” storage (issue #288)
  • Fixed ESP8266 compile errors about RAM size when adding 1 library (issue #296)

2.3.2 (2015-09-10)

  • Allowed to use ST-Link uploader for mbed-based projects
  • Explained how to use lib directory from the PlatformIO based project in readme.txt which will be automatically generated using platformio init command (issue #273)
  • Found solution for “pip/scons error: option –single-version-externally-managed not recognized” when install PlatformIO using pip package manager (issue #279)
  • Fixed firmware uploading to Arduino Leonardo board using Mac OS (issue #287)
  • Fixed SConsNotInstalled error for Linux Debian-based distributives

2.3.1 (2015-09-06)

2.3.0 (2015-09-05)

2.2.2 (2015-07-30)

2.2.1 (2015-07-17)

2.2.0 (2015-07-01)

2.1.2 (2015-06-21)

  • Fixed broken link to SCons installer

2.1.1 (2015-06-09)

  • Automatically detect upload port using VID:PID board settings (issue #231)
  • Improved detection of build changes
  • Avoided LibInstallDependencyError when more than 1 library is found (issue #229)

2.1.0 (2015-06-03)

2.0.2 (2015-05-27)

  • Fixed libraries order for “Library Dependency Finder” under Linux OS

2.0.1 (2015-05-27)

  • Handle new environment variable PLATFORMIO_BUILD_FLAGS
  • Pass to API requests information about Continuous Integration system. This information will be used by PlatformIO-API.
  • Use include directories from toolchain when initialising project for IDE (issue #210)
  • Added support for new WildFire boards from Wicked Device to atmelavr platform
  • Updated Arduino Framework to 1.6.4 version (issue #212)
  • Handle Atmel AVR Symbols when initialising project for IDE (issue #216)
  • Fixed bug with converting *.ino to *.cpp
  • Fixed failing with platformio init --ide eclipse without boards (issue #217)

2.0.0 (2015-05-22)

Made in Paradise

PlatformIO 1.0

1.5.0 (2015-05-15)

  • Added support of Framework mbed for Teensy 3.1 (issue #183)
  • Added GDB as alternative uploader to ststm32 platform (issue #175)
  • Added examples with preconfigured IDE projects (issue #154)
  • Fixed firmware uploading under Linux OS for Arduino Leonardo board (issue #178)
  • Fixed invalid “mbed” firmware for Nucleo F411RE (issue #185)
  • Fixed parsing of includes for PlatformIO Library Dependency Finder (issue #189)
  • Fixed handling symbolic links within source code directory (issue #190)
  • Fixed cancelling any previous definition of name, either built in or provided with a -D option (issue #191)

1.4.0 (2015-04-11)

1.3.0 (2015-03-27)

1.2.0 (2015-03-20)

  • Added full support of mbed framework including libraries: RTOS, Ethernet, DSP, FAT, USB.
  • Added freescalekinetis development platform with Freescale Kinetis Freedom boards
  • Added nordicnrf51 development platform with supported boards from JKSoft, Nordic, RedBearLab, Switch Science
  • Added nxplpc development platform with supported boards from CQ Publishing, Embedded Artists, NGX Technologies, NXP, Outrageous Circuits, SeeedStudio, Solder Splash Labs, Switch Science, u-blox
  • Added support for ST Nucleo boards to ststm32 development platform
  • Created new Frameworks page in documentation and added to PlatformIO Web Site (issue #115)
  • Introduced online Embedded Boards Explorer
  • Automatically append define -DPLATFORMIO=%version% to builder (issue #105)
  • Renamed stm32 development platform to ststm32
  • Renamed opencm3 framework to libopencm3
  • Fixed uploading for atmelsam development platform
  • Fixed re-arranging the *.ino/pde files when converting to *.cpp (issue #100)

1.1.0 (2015-03-05)

  • Implemented PLATFORMIO_* environment variables (issue #102)
  • Added support for SainSmart boards to atmelsam development platform
  • Added Project Configuration option named envs_dir
  • Disabled “prompts” automatically for Continuous Integration systems (issue #103)
  • Fixed firmware uploading for atmelavr boards which work within usbtiny protocol
  • Fixed uploading for Digispark board (issue #106)

1.0.1 (2015-02-27)

PlatformIO 1.0 - recommended for production

  • Changed development status from beta to Production/Stable
  • Added support for ARM-based credit-card sized computers: Raspberry Pi, BeagleBone and CubieBoard
  • Added atmelsam development platform with supported boards: Arduino Due and Digistump DigiX (issue #71)
  • Added ststm32 development platform with supported boards: Discovery kit for STM32L151/152, STM32F303xx, STM32F407/417 lines and libOpenCM3 Framework (issue #73)
  • Added teensy development platform with supported boards: Teensy 2.x & 3.x (issue #72)
  • Added new Arduino boards to atmelavr platform: Arduino NG, Arduino BT, Arduino Esplora, Arduino Ethernet, Arduino Robot Control, Arduino Robot Motor and Arduino Yun
  • Added support for Adafruit boards to atmelavr platform: Adafruit Flora and Adafruit Trinkets (issue #65)
  • Added support for Digispark boards to atmelavr platform: Digispark USB Development Board and Digispark Pro (issue #47)
  • Covered code with tests (issue #2)
  • Refactored Library Dependency Finder (issues #48, #50, #55)
  • Added src_dir option to [platformio] section of platformio.ini which allows to redefine location to project’s source directory (issue #83)
  • Added --json-output option to platformio boards and platformio search commands which allows to return the output in JSON format (issue #42)
  • Allowed to ignore some libs from Library Dependency Finder via lib_ignore option
  • Improved platformio run command: asynchronous output for build process, timing and detailed information about environment configuration (issue #74)
  • Output compiled size and static memory usage with platformio run command (issue #59)
  • Updated framework-arduino AVR & SAM to 1.6 stable version
  • Fixed an issue with the libraries that are git repositories (issue #49)
  • Fixed handling of assembly files (issue #58)
  • Fixed compiling error if space is in user’s folder (issue #56)
  • Fixed AttributeError: ‘module’ object has no attribute ‘disable_warnings’ when a version of requests package is less then 2.4.0
  • Fixed bug with invalid process’s “return code” when PlatformIO has internal error (issue #81)
  • Several bug fixes, increased stability and performance improvements

PlatformIO 0.0

0.10.2 (2015-01-06)

0.10.1 (2015-01-02)

0.10.0 (2015-01-01)

Happy New Year!

0.9.2 (2014-12-10)

  • Replaced “dark blue” by “cyan” colour for the texts (issue #33)
  • Added new setting enable_prompts and allowed to disable all PlatformIO prompts (useful for cloud compilers) (issue #34)
  • Fixed compilation bug on Windows with installed MSVC (issue #18)

0.9.1 (2014-12-05)

0.9.0 (2014-12-01)

  • Implemented platformio settings command
  • Improved platformio init command. Added new option --project-dir where you can specify another path to directory where new project will be initialized (issue #31)
  • Added Migration Manager which simplifies process with upgrading to a major release
  • Added Telemetry Service which should help us make PlatformIO better
  • Implemented PlatformIO AppState Manager which allow to have multiple .platformio states.
  • Refactored Package Manager
  • Download Manager: fixed SHA1 verification within Cygwin Environment (issue #26)
  • Fixed bug with code builder and built-in Arduino libraries (issue #28)

0.8.0 (2014-10-19)

0.7.1 (2014-10-06)

  • Fixed bug with order for includes in conversation from INO/PDE to CPP
  • Automatic detection of port on upload (issue #15)
  • Fixed lib update crashing when no libs are installed (issue #19)

0.7.0 (2014-09-24)

0.6.0 (2014-08-09)

0.5.0 (2014-08-04)

  • Improved nested lookups for libraries
  • Disabled default warning flag “-Wall”
  • Added auto-conversation from *.ino to valid *.cpp for Arduino/Energia frameworks (issue #7)
  • Added Arduino example with external library (Adafruit CC3000)
  • Implemented platformio upgrade command and “auto-check” for the latest version (issue #8)
  • Fixed an issue with “auto-reset” for Raspduino board
  • Fixed a bug with nested libs building

0.4.0 (2014-07-31)

0.3.1 (2014-06-21)

  • Fixed auto-installer for Windows OS (bug with %PATH% customisations)

0.3.0 (2014-06-21)

  • Allowed to pass multiple “SomePlatform” to install/uninstall commands
  • Added “IDE Integration” section to README with Eclipse project examples
  • Created auto installer script for PlatformIO (issue #3)
  • Added “Super-Quick” way to Installation section (README)
  • Implemented “build_flags” option for environments (issue #4)

0.2.0 (2014-06-15)

0.1.0 (2014-06-13)

  • Birth! First alpha release