neulab/tldr huggingface dataset:
• Fixed an issue when "debug", "home", "run", and "test" commands were not shown in "platformio --help" CLI
• Fixed an issue with PIO Home's "No JSON object could be decoded" (issue #2823)
• Fixed an issue when library.json had priority over project configuration for LDF (issue #2867)
4.0.0 (2019-07-10) Migration Guide from 3.0 to 4.0.
• PlatformIO Plus Goes Open Source
• Built-in PIO Unified Debugger
• Built-in PIO Unit Testing
• Project Configuration
• New project configuration parser with a strict options typing (API)
• Unified workspace storage (workspace_dir -> .pio) for PlatformIO Build System, Library Manager, and other internal services (issue #1778)
• Share common (global) options between project environments using [env] section (issue #1643)
• Include external configuration files with extra_configs option (issue #1590)
• Custom project ***_dir options declared in platformio section have higher priority than Environment variables
• Added support for Unix shell-style wildcards for monitor_port option (issue #2541)
• Added new monitor_flags option which allows passing extra flags and options to platformio device monitor command (issue #2165)
• Added support for PLATFORMIO_DEFAULT_ENVS system environment variable (issue #1967)
• Added support for shared_dir where you can place an extra files (extra scripts, LD scripts, etc.) which should be transferred to a PIO Remote machine
• Library Management
• Switched to workspace .pio/libdeps folder for project dependencies instead of .piolibdeps
• Save libraries passed to platformio lib install command into the project dependency list (lib_deps) with a new --save flag (issue #1028)
• Install all project dependencies declared via lib_deps option using a simple platformio lib install command (issue #2147)
• Use isolated library dependency storage per project build environment (issue #1696)
• Look firstly in built-in library storages for a missing dependency instead of PlatformIO Registry (issue #1654)
• Override default source and include directories for a library via library.json manifest using includeDir and srcDir fields
• Fixed an issue when library keeps reinstalling for non-latin path (‐ issue #1252)
• Fixed an issue when lib_compat_mode = strict does not ignore libraries incompatible with a project framework
• Build System
• Switched to workspace .pio/build folder for build artifacts instead of .pioenvs
• Switch between Build Configurations (release and debug) with a new project configuration option build_type
• Custom platform_packages per a build environment with an option to override default (issue #1367)
• Print platform package details, such as version, VSC source and commit (issue #2155)
• Control a number of parallel build jobs with a new -j, --jobs option
• Override default "platformio.ini" (Project Configuration File) with a custom using -c, --project-conf option for platformio run, platformio debug, or platformio test commands (issue #1913)
• Override default development platform upload command with a custom upload_command (issue #2599)
• Configure a shared folder for the derived files (objects, firmwares, ELFs) from a build system using build_cache_dir option (issue #2674)
• Fixed an issue when -U in build_flags does not remove macro previously defined via -D flag (issue #2508)
• Infrastructure
• Python 3 support (issue #895)
• Significantly speedup back-end for PIO Home. It works super fast now!
• Added support for the latest Python "Click" package (CLI) (issue #349)
• Added options to override default locations used by PlatformIO Core (core_dir, globallib_dir, platforms_dir, packages_dir, cache_dir) (‐ issue #1615)
• Removed line-buffering from platformio run command which was leading to omitting progress bar from upload tools (issue #856)
• Fixed numerous issues related to "UnicodeDecodeError" and international locales, or when project path contains non-ASCII chars (issue #143, issue #1342, issue #1959, issue #2100)
• Support custom CMake configuration for CLion IDE using CMakeListsUser.txt file
• Fixed an issue with hardcoded C standard version when generating project for CLion IDE (issue #2527)
• Fixed an issue with Project Generator when an include path search order is inconsistent to what passed to the compiler (issue #2509)
• Fixed an issue when generating invalid "Eclipse CDT Cross GCC Built-in Compiler Settings" if a custom PLATFORMIO_CORE_DIR is used (issue #806)
• Miscellaneous
• Deprecated --only-check PlatformIO Core CLI option for "update" sub-commands, please use --dry-run instead
• Fixed "systemd-udevd" warnings in 99-platformio-udev.rules (issue #2442)
• Fixed an issue when package cache (Library Manager) expires too fast (issue #2559)
PlatformIO Core 3 3.6.7 (2019-04-23) • PIO Unified Debugger: improved debugging in debug_load_mode = modified and fixed an issue with useless project rebuilding
• Project Generator: fixed a VSCode C/C++'s "Cannot find" warning when CPPPATH folder does not exist
• Fixed an "IndexError: list index out of range" for Arduino sketch preprocessor (issue #2268)
• Fixed an issue when invalid "env_default" in "platformio.ini" (Project Configuration File) results into unhandled errors (issue #2265)
3.6.6 (2019-03-29) • Project Generator: fixed a warning "Property !!! WARNING !!! is not allowed" for VSCode (issue #2243)
• Fixed an issue when PlatformIO Build System does not pick up "mbed_lib.json" files from libraries (issue #2164)
• Fixed an error with conflicting declaration of a prototype (Arduino sketch preprocessor)
• Fixed "FileExistsError" when platformio ci command is used in pair with --keep-build-dir option
• Fixed an issue with incorrect order of project "include" and "src" paths in CPPPATH (issue #1914)
3.6.5 (2019-03-07) • Project Generator: added new targets for CLion IDE "BUILD_VERBOSE" and "MONITOR" (serial port monitor) (issue #359)
• Fixed an issue with slow updating of PlatformIO Core packages on Windows
• Fixed an issue when platformio ci recompiles project if --keep-build-dir option is passed (issue #2109)
• Fixed an issue when $PROJECT_HASH template was not expanded for the other directory ***_dir options in "platformio.ini" (Project Configuration File) (issue #2170)
3.6.4 (2019-01-23) • Improved Project Generator for IDEs:
• Use full path to PlatformIO CLI when generating a project (issue #1674)
• CLion: Improved project portability using "${CMAKE_CURRENT_LIST_DIR}" instead of full path
• Eclipse: Provide language standard to a project C/C++ indexer (issue #1010)
• Fixed an issue with incorrect detecting of compatibility (LDF) between generic library and Arduino or ARM mbed frameworks
• Fixed "Runtime Error: Dictionary size changed during iteration" (issue #2003)
• Fixed an error "Could not extract item..." when extracting TAR archive with symbolic items on Windows platform (issue #2015)
3.6.3 (2018-12-12) • Ignore *.asm and *.ASM files when building Arduino-based library (compatibility with Arduino builder)
• Fixed spurious project's "Problems" for PlatformIO IDE for VSCode when ARM mbed framework is used
• Fixed an issue with a broken headers list when generating ".clang_complete" for Emacs (issue #1960)
3.6.2 (2018-11-29) • Improved IntelliSense for PlatformIO IDE for VSCode via passing extra compiler information for C/C++ Code Parser (resolves issues with spurious project's "Problems")
• Fixed an issue with VSCode IntelliSense warning about the missed headers located in include folder
• Fixed incorrect wording when initializing/updating project
• Fixed an issue with incorrect order for library dependencies CPPPATH (‐ issue #1914)
• Fixed an issue when Library Dependency Finder (LDF) does not handle project src_filter (issue #1905)
• Fixed an issue when Library Dependency Finder (LDF) finds spurious dependencies in chain+ and deep+ modes (issue #1930)
3.6.1 (2018-10-29) • Generate an include and test directories with a README file when initializing a new project
• Support in-line comments for multi-line value (lib_deps, build_flags, etc) in "platformio.ini" (Project Configuration File)
• Added $PROJECT_HASH template variable for build_dir. One of the use cases is setting a global storage for project artifacts using PLATFORMIO_BUILD_DIR system environment variable. For example, /tmp/pio-build/$PROJECT_HASH (Unix) or $[sysenv.TEMP}/pio-build/$PROJECT_HASH (Windows)
• Improved a loading speed of PIO Home "Recent News"
• Improved PIO Unified Debugger for "mbed" framework and fixed issue with missed local variables
• Introduced "Release" and "Debug" Build Configurations
• Build project in "Debug Mode" including debugging information with a new debug target using platformio run command or targets option in platformio.ini. The last option allows avoiding project rebuilding between "Run/Debug" modes.  (issue #1833)
• Process build_unflags for the cloned environment when building a static library
• Report on outdated 99-platformio-udev.rules (issue #1823)
• Show a valid error when the Internet is off-line while initializing a new project (issue #1784)
• Do not re-create ".gitignore" and ".travis.yml" files if they were removed from a project
• Fixed an issue when dynamic build flags were not handled correctly (‐ issue #1799)
• Fixed an issue when pio run -t monitor always uses the first monitor_port even with multiple environments (issue #1841)
• Fixed an issue with broken includes when generating .clang_complete and space is used in a path (issue #1873)
• Fixed an issue with incorrect handling of a custom package name when using platformio lib install or platformio platform install commands
3.6.0 (2018-08-06) • Program Memory Usage
• Print human-readable memory usage information after a build and before uploading
• Print detailed memory usage information with "sections" and "addresses" in verbose mode
• Check maximum allowed "program" and "data" sizes before uploading/programming (issue #1412)
• PIO Unit Testing:
• Documented Project Shared Code
• Force building of project source code using test_build_project_src option
• Fixed missed UNIT_TEST macro for unit test components/libraries
• Check package structure after unpacking and raise error when antivirus tool blocks PlatformIO package manager (issue #1462)
• Lock interprocess requests to PlatformIO Package Manager for install/uninstall operations (issue #1594)
• Fixed an issue with PIO Remote when upload process depends on the source code of a project framework
• Fixed an issue when srcFilter field in library.json breaks a library build (issue #1735)
3.5.4 (2018-07-03) • Improved removing of default build flags using build_unflags option (‐ issue #1712)
• Export LIBS, LIBPATH, and LINKFLAGS data from project dependent libraries to the global build environment
• Don't export CPPPATH data of project dependent libraries to framework's build environment (issue #1665)
• Handle "architectures" data from "library.properties" manifest in lib_compat_mode = strict
• Added workaround for Python SemVer package's issue #61 with caret range and pre-releases
• Replaced conflicted "env" pattern by "sysenv" for "platformio.ini" Dynamic Variables" (issue #1705)
• Removed "date&time" when processing project with platformio run command (issue #1343)
• Fixed issue with invalid LD script if path contains space
• Fixed preprocessor for Arduino sketch when function returns certain type (issue #1683)
• Fixed issue when platformio lib uninstall removes initial source code (issue #1023)
3.5.3 (2018-06-01) • PlatformIO Home - interact with PlatformIO ecosystem using modern and cross-platform GUI:
• "Recent News" block on "Welcome" page
• Direct import of development platform's example
• Simplify configuration for PIO Unit Testing: separate main program from a test build process, drop requirement for #ifdef UNIT_TEST guard
• Override any option from board manifest in "platformio.ini" (Project Configuration File) (issue #1612)
• Configure a custom path to SVD file using debug_svd_path option
• Custom project description which will be used by PlatformIO Home
• Updated Unity tool to 2.4.3
• Improved support for Black Magic Probe in "uploader" mode
• Renamed "monitor_baud" option to "monitor_speed"
• Fixed issue when a custom lib_dir was not handled correctly (issue #1473)
• Fixed issue with useless project rebuilding for case insensitive file systems (Windows)
• Fixed issue with build_unflags option when a macro contains value (e.g., -DNAME=VALUE)
• Fixed issue which did not allow to override runtime build environment using extra POST script
• Fixed "RuntimeError: maximum recursion depth exceeded" for library manager (issue #1528)
3.5.2 (2018-03-13) • PlatformIO Home - interact with PlatformIO ecosystem using modern and cross-platform GUI:
• Multiple themes (Dark & Light)
• Ability to specify a name for new project
• Control PIO Unified Debugger and its firmware loading mode using debug_load_mode option
• Added aliases (off, light, strict) for LDF Compatibility Mode
• Search for a library using PIO Library Registry ID id:X (e.g. pio lib search id:13)
• Show device system information (MCU, Frequency, RAM, Flash, Debugging tools) in a build log
• Show all available upload protocols before firmware uploading in a build log
• Handle "os.mbed.com" URL as a Mercurial (hg) repository
• Improved support for old mbed libraries without manifest
• Fixed project generator for Qt Creator IDE (issue #1303, issue #1323)
• Mark project source and library directories for CLion IDE (issue #1359, issue #1345, issue #897)
• Fixed issue with duplicated "include" records when generating data for IDE (issue #1301)
3.5.1 (2018-01-18) • New test_speed option to control a communication baudrate/speed between PIO Unit Testing engine and a target device (issue #1273)
• Show full library version in "Library Dependency Graph" including VCS information (issue #1274)
• Configure a custom firmware/program name in build directory (example)
• Renamed envs_dir option to build_dir in "platformio.ini" (Project Configuration File)
• Refactored code without "arrow" dependency (resolve issue with "ImportError: No module named backports.functools_lru_cache")
• Improved support of PIO Unified Debugger for Eclipse Oxygen
• Improved a work in off-line mode
• Fixed project generator for CLion and Qt Creator IDE (issue #1299)
• Fixed PIO Unified Debugger for mbed framework
• Fixed library updates when a version is declared in VCS format (not SemVer)
3.5.0 (2017-12-28) • PlatformIO Home - interact with PlatformIO ecosystem using modern and cross-platform GUI:
• Library Manager:
• Multiple examples, trending libraries, and more.
• PlatformIO Projects
• PIO Account
• Development platforms, frameworks and board explorer
• Integration with Jenkins CI
• New include folder for project's header files (issue #1107)
• Depend on development platform using VCS URL (Git, Mercurial and Subversion) instead of a name in "platformio.ini" (Project Configuration File).  Drop support for *_stage dev/platform names (use VCS URL instead).
• Reinstall/redownload package with a new -f, --force option for platformio lib install and platformio platform install commands (issue #778)
• Handle missed dependencies and provide a solution based on PlatformIO Library Registry (issue #781)
• New setting projects_dir that allows to override a default PIO Home Projects location (issue #1161)
• Library Dependency Finder (LDF):
• Search for dependencies used in PIO Unit Testing (issue #953)
• Parse library source file in pair with a header when they have the same name (issue #1175)
• Handle library dependencies defined as VCS or SemVer in "platformio.ini" (Project Configuration File) (issue #1155)
• Added option to configure library Compatible Mode using library.json
• New options for platformio device list command:
• --serial list available serial ports (default)
• --logical list logical devices
• --mdns discover multicast DNS services (issue #463)
• Fixed platforms, packages, and libraries updating behind proxy (issue #1061)
• Fixed missing toolchain include paths for project generator (issue #1154)
• Fixed "Super-Quick (Mac / Linux)" installation in "get-platformio.py" script (issue #1017)
• Fixed "get-platformio.py" script which hangs on Windows 10 (issue #1118)
• Other bug fixes and performance improvements
3.4.1 (2017-08-02) • Pre/Post extra scripting for advanced control of PIO Build System (‐ issue #891)
• New lib_archive option to control library archiving and linking behavior (issue #993)
• Add "inc" folder automatically to CPPPATH when "src" is available (works for project and library) (issue #1003)
• Use a root of library when filtering source code using library.json and srcFilter field
• Added monitor_* options to white-list for "platformio.ini" (Project Configuration File) (issue #982)
• Do not ask for board ID when initialize project for desktop platform
• Handle broken PIO Core state and create new one
• Fixed an issue with a custom transport for PIO Unit Testing when multiple tests are present
• Fixed an issue when can not upload firmware to SAM-BA based board (Due)
3.4.0 (2017-06-26) • PIO Unified Debugger
• Support for 100+ embedded boards
• Windows, MacOS, Linux (+ARMv6-8)
• Built-in into PlatformIO IDE for Atom and PlatformIO IDE for VScode
• Integration with Eclipse and Sublime Text
• Filter PIO Unit Testing tests using a new test_filter option in "platformio.ini" (Project Configuration File) or platformio test --filter command (issue #934)
• Custom test_transport for PIO Unit Testing Engine
• Configure Serial Port Monitor in "platformio.ini" (Project Configuration File) (issue #787)
• New monitor target which allows to launch Serial Monitor automatically after successful "build" or "upload" operations (issue #788)
• Project generator for VIM
• Multi-line support for the different options in "platformio.ini" (Project Configuration File), such as: build_flags, build_unflags, etc. (issue #889)
• Handle dynamic SRC_FILTER environment variable from library.json extra script
• Notify about multiple installations of PIO Core (issue #961)
• Improved auto-detecting of mbed-enabled media disks
• Automatically update Git-submodules for development platforms and libraries that were installed from repository
• Add support for .*cc extension (issue #939)
• Handle env_default in "platformio.ini" (Project Configuration File) when re-initializing a project (issue #950)
• Use root directory for PIO Home when path contains non-ascii characters (issue #951, issue #952)
• Don't warn about known boards_dir option (pull #949)
• Escape non-valid file name characters when installing a new package (library) (issue #985)
• Fixed infinite dependency installing when repository consists of multiple libraries (issue #935)
• Fixed linter error "unity.h does not exist" for Unit Testing (issue #947)
• Fixed issue when Library Dependency Finder (LDF) does not handle custom src_dir (issue #942)
• Fixed cloning a package (library) from a private Git repository with custom user name and SSH port (issue #925)
3.3.1 (2017-05-27) • Hotfix for recently updated Python Requests package (2.16.0)
3.3.0 (2017-03-27) • PlatformIO Library Registry statistics with new pio lib stats command
• Recently updated and added libraries
• Recent and popular keywords
• Featured libraries (today, week, month)
• List built-in libraries based on development platforms with a new pio lib builtin command
• Show detailed info about a library using pio lib show command (issue #430)
• List supported frameworks, SDKs with a new pio platform frameworks command
• Visual Studio Code extension for PlatformIO (issue #619)
• Added new options --no-reset, --monitor-rts and --monitor-dtr to pio test command (allows to avoid automatic board's auto-reset when gathering test results)
• Added support for templated methods in *.ino to *.cpp converter (pull #858)
• Package version as "Repository URL" in manifest of development version ("version": "https://github.com/user/repo.git")
• Produce less noisy output when -s/--silent options are used for platformio init and platformio run commands (issue #850)
• Use C++11 by default for CLion IDE based projects (pull #873)
• Escape project path when Glob matching is used
• Do not overwrite project configuration variables when system environment variables are set
• Handle dependencies when installing non-registry package/library (VCS, archive, local folder) (issue #913)
• Fixed package installing with VCS branch for Python 2.7.3 (issue #885)
3.2.1 (2016-12-07) • Changed default LDF Mode from chain+ to chain
3.2.0 (2016-12-07) • PIO Remote™.  Your devices are always with you!
• Over-The-Air (OTA) Device Manager
• OTA Serial Port Monitor
• OTA Firmware Updates
• Integration with Cloud IDEs
• Cloud9
• Codeanywhere
• Eclipse Che
• PIO Account and PLATFORMIO_AUTH_TOKEN environment variable for CI systems (issue #808, issue #467)
• Inject system environment variables to configuration settings in "platformio.ini" (Project Configuration File) (issue #792)
• Custom boards per project with boards_dir option in "platformio.ini" (Project Configuration File) (issue #515)
• Unix shell-style wildcards for upload_port (issue #839)
• Refactored Library Dependency Finder (LDF) C/C++ Preprocessor for conditional syntax (#ifdef, #if, #else, #elif, #define, etc.)  (issue #837)
• Added new LDF Modes: chain+ and deep+ and set chain+ as default
• Added global lib_extra_dirs option to [platformio] section for "platformio.ini" (Project Configuration File) (issue #842)
• Enabled caching by default for API requests and Library Manager (see enable_cache setting)
• Native integration with VIM/Neovim using neomake-platformio plugin
• Changed a default exit combination for Device Monitor from Ctrl+] to Ctrl+C
• Improved detecting of ARM mbed media disk for uploading
• Improved Project Generator for CLion IDE when source folder contains nested items
• Improved handling of library dependencies specified in library.json manifest (issue #814)
• Improved Library Dependency Finder (LDF) for circular dependencies
• Show vendor version of a package for platformio platform show command (issue #838)
• Fixed unable to include SSH user in lib_deps repository url (issue #830)
• Fixed merging of ".gitignore" files when re-initialize project (issue #848)
• Fixed issue with PATH auto-configuring for upload tools
• Fixed 99-platformio-udev.rules checker for Linux OS
3.1.0 (2016-09-19) • New! Dynamic variables/templates for "platformio.ini" (Project Configuration File) (issue #705)
• Summary about processed environments (issue #777)
• Implemented LocalCache system for API and improved a work in off-line mode
• Improved Project Generator when custom --project-option is passed to platformio init command
• Deprecated lib_force option, please use lib_deps instead
• Return valid exit code from plaformio test command
• Fixed Project Generator for CLion IDE using Windows OS (issue #785)
• Fixed SSL Server-Name-Indication for Python < 2.7.9 (issue #774)
3.0.1 (2016-09-08) • Disabled temporary SSL for PlatformIO services (issue #772)
3.0.0 (2016-09-07) • PlatformIO Plus
• Local and Embedded Unit Testing (issue #408, issue #519)
• 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)
• Search libraries by headers/includes with platformio lib search --header option
• 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)
• Allowed passing custom project configuration options to platformio ci and platformio init commands using -O, --project-option.
• Print human-readable information when processing environments without -v, --verbose option (issue #721)
• Improved INO to CPP converter (issue #659, issue #765)
• Added license field to library.json (issue #522)
• Warn about unknown options in project configuration file platformio.ini (issue #740)
• Fixed wrong line number for INO file when #warning directive is used (‐ issue #742)
• Stopped supporting Python 2.6
PlatformIO Core 2 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) • Project generator for NetBeans IDE (issue #541)
• Created package for Homebrew Mac OS X Package Manager: brew install platformio (issue #395)
• Updated Arduino core for Espressif platform to 2.1.0 (issue #544)
• Added support for the ESP8266 ESP-07 board to Espressif (issue #527)
• Improved handling of String-based CPPDEFINES passed to extra build_flags (issue #526)
• Generate appropriate project for CLion IDE and CVS (issue #523)
• Use src_dir directory from Project Configuration File platformio.ini when initializing project otherwise create base src directory (issue #536)
• Fixed issue with incorrect handling of user's build flags where the base flags were passed after user's flags to GCC compiler (issue #528)
• Fixed issue with Project Generator when optional build flags were passed using system environment variables: PLATFORMIO_BUILD_FLAGS or PLATFORMIO_BUILD_SRC_FLAGS
• Fixed invalid detecting of compiler type (issue #550)
• Fixed issue with updating package which was deleted manually by user (‐ issue #555)
• Fixed incorrect parsing of GCC -include flag (issue #552)
2.8.4 (2016-02-17) • Added support for the new ESP8266-based boards (ESPDuino, ESP-WROOM-02, ESPresso Lite 1.0 & 2.0, SparkFun ESP8266 Thing Dev, ThaiEasyElec ESPino) to Espressif development platform
• Added board_f_flash option to Project Configuration File platformio.ini which allows to specify custom flash chip frequency for Espressif development platform (issue #501)
• Added board_flash_mode option to Project Configuration File platformio.ini which allows to specify custom flash chip mode for Espressif development platform
• Handle new environment variables PLATFORMIO_UPLOAD_PORT and PLATFORMIO_UPLOAD_FLAGS (issue #518)
• Fixed issue with CPPDEFINES which contain space and break PlatformIO IDE Linter (IDE issue #34)
• Fixed unable to link C++ standard library to Espressif platform build (issue #503)
• Fixed issue with pointer (char* myfunc()) while converting from *.ino to *.cpp (issue #506)
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) • PlatformIO IDE for Atom (issue #470)
• Added pio command line alias for platformio command (issue #447)
• Added SPL-Framework support for Nucleo F401RE board (issue #453)
• Added upload_resetmethod option to Project Configuration File platformio.ini which allows to specify custom upload reset method for Espressif development platform (issue #444)
• Allowed to force output of color ANSI-codes or to disable progress bar even if the output is a pipe (not a tty) using Environment variables (‐ issue #465)
• Set 1Mb SPIFFS for Espressif boards by default (issue #458)
• Exclude test* folder by default from build process
• Generate project for IDEs with information about installed libraries
• Fixed builder for mbed framework and ST STM32 platform
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) • Improved code builder for parallel builds (up to 4 times faster than before)
• Generate .travis.yml CI and .gitignore files for embedded projects by default (issue #354)
• Removed prompt with "auto-uploading" from platformio init command and added --enable-auto-uploading option (issue #352)
• Fixed incorrect behaviour of platformio serialports monitor in pair with PySerial 3.0
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) • Added support of libOpenCM3 framework for Nucleo F103RB board (issue #309)
• Added support for Espressif ESP8266 ESP-12E board (NodeMCU) (issue #310)
• Added support for pySerial 3.0 (issue #307)
• Updated Arduino AVR/SAM frameworks to 1.6.6 (issue #321)
• Upload firmware using external programmer via platformio run --target program target (issue #311)
• Fixed handling of upload port when board option is not specified in platformio.ini (issue #313)
• Fixed firmware uploading for nordicrf51 development platform (issue #316)
• Fixed installation on Mac OS X El Capitan (issue #312)
• Fixed project generator for CLion IDE under Windows OS with invalid path to executable (issue #326)
• Fixed empty list with serial ports on Mac OS X (isge #294)
• Fixed compilation error TWI_Disable not declared for Arduino Due board (issue #329)
2.3.4 (2015-10-13) • Full support of CLion IDE including code auto-completion (issue #132)
• PlatformIO command completion in Terminal for bash and zsh
• Added support for ubIQio Ardhat board (pull #302)
• Install SCons automatically and avoid error: option --single-version-externally-managed not recognized (issue #279)
• Use Teensy CLI Loader for upload of .hex files on Mac OS X (issue #306)
• Fixed missing framework-mbed package for teensy platform (issue #305)
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) • Fixed critical issue when platformio init --ide command hangs PlatformIO (issue #283)
2.3.0 (2015-09-05) • Added native, linux_arm, linux_i686, linux_x86_64, windows_x86 development platforms (issue #263)
• Added PlatformIO Demo page to documentation
• Simplified installation process of PlatformIO (issue #274)
• Significantly improved Project Generator which allows to integrate with the most popular IDE
• Added short -h help option for PlatformIO and sub-commands
• Updated mbed framework
• Updated tool-teensy package for Teensy platform (issue #268)
• Added FAQ answer when Program "platformio" not found in PATH (issue #272)
• Generate "readme.txt" for project "lib" directory (issue #273)
• Use toolchain's includes pattern include* for Project Generator (issue #277)
• Added support for Adafruit Gemma board to atmelavr platform (pull #256)
• Fixed includes list for Windows OS when generating project for Eclipse IDE (issue #270)
• Fixed AttributeError: 'module' object has no attribute 'packages' (‐ issue #252)
2.2.2 (2015-07-30) • Integration with Atom IDE
• Support for off-line/unpublished/private libraries (issue #260)
• Disable project auto-clean while building/uploading firmware using platformio run --disable-auto-clean option (issue #255)
• Show internal errors from "Miniterm" using platformio serialports monitor command (issue #257)
• Fixed platformio serialports monitor --help information with HEX char for hotkeys (issue #253)
• Handle "OSError: [Errno 13] Permission denied" for PlatformIO installer script (issue #254)
2.2.1 (2015-07-17) • Project generator for CLion IDE (issue #132)
• Updated tool-bossac package to 1.5 version for atmelsam platform (issue #251)
• Updated sdk-esp8266 package for espressif platform
• Fixed incorrect arguments handling for platformio serialports monitor command (issue #248)
2.2.0 (2015-07-01) • Allowed to exclude/include source files from build process using src_filter (issue #240)
• Launch own extra script before firmware building/uploading processes (‐ issue #239)
• Specify own path to the linker script (ld) using build_flags option (‐ issue #233)
• Specify library compatibility with the all platforms/frameworks using * symbol in library.json
• Added support for new embedded boards: ST 32L0538DISCOVERY and Delta DFCM-NNN40 to Framework mbed
• Updated packages for Framework Arduino (AVR, SAM, Espressif and Teensy cores, Framework mbed, Espressif ESP8266 SDK (issue #246)
• Fixed stk500v2_command(): command failed (issue #238)
• Fixed IDE project generator when board is specified (issue #242)
• Fixed relative path for includes when generating project for IDE (issue #243)
• Fixed ESP8266 native SDK exception (issue #245)
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) • Added Silicon Labs EFM32 siliconlabsefm32 development platform (issue #226)
• Integrate PlatformIO with Circle CI and Shippable CI
• Described in documentation how to create/register own board for PlatformIO
• Disabled "nano.specs" for ARM-based platforms (issue #219)
• Fixed "ConnectionError" when PlatformIO SF Storage is off-line
• Fixed resolving of C/C++ std libs by Eclipse IDE (issue #220)
• Fixed firmware uploading using USB programmer (USBasp) for atmelavr platform (issue #221)
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 as Continuous Integration (CI) tool for embedded projects (‐ issue #108)
• Initialise PlatformIO project for the specified IDE (issue #151)
• PlatformIO CLI 2.0: "platform" related commands have been moved to platformio platforms subcommand (issue #158)
• Created PlatformIO gitter.im room (issue #174)
• Global -f, --force option which will force to accept any confirmation prompts (issue #152)
• Run project with platformio run --project-dir option without changing the current working directory (issue #192)
• Control verbosity of platformio run command via -v/--verbose option
• Add library dependencies for build environment using lib_install option in platformio.ini (issue #134)
• Specify libraries which are compatible with build environment using lib_use option in platformio.ini (issue #148)
• Add more boards to PlatformIO project with platformio init --board command (issue #167)
• Choose which library to update (issue #168)
• Specify platformio init --env-prefix when initialise/update project (‐ issue #182)
• Added new Armstrap boards (issue #204)
• Updated SDK for espressif development platform to v1.1 (issue #179)