All Versions
Latest Version
Avg Release Cycle
36 days
Latest Release
1288 days ago

Changelog History
Page 1

  • v5.0.3 Changes

    November 12, 2020
    • โž• Added an error selector for Sublime Text build runner (issue #3733)
    • Generate a working "projectEnvName" for PlatformIO IDE's debugger for VSCode
    • ๐Ÿ‘ฎ Force VSCode's intelliSenseMode to "gcc-x64" when GCC toolchain is used
    • โœ… Print ignored test suites and environments in the test summary report only in verbose mode (issue #3726)
    • ๐Ÿ›  Fixed an issue when the package manager tries to install a built-in library from the registry (issue #3662)
    • ๐Ÿ›  Fixed an issue when pio package pack ignores some folders (issue #3730)
  • v5.0.2 Changes

    October 30, 2020
    • ๐ŸŽ‰ Initialize a new project or update the existing passing working environment name and its options (issue #3686)
    • ๐Ÿ— Automatically build PlatformIO Core extra Python dependencies on a host machine if they are missed in the registry (issue #3700)
    • ๐Ÿ‘Œ Improved "" RPC for PlatformIO Home (issue #3671)
    • ๐Ÿ“„ Fixed a "PermissionError: [WinError 5]" on Windows when an external repository is used with lib_deps option (issue #3664)
    • ๐Ÿ›  Fixed a "KeyError: 'versions'" when dependency does not exist in the registry (issue #3666)
    • ๐Ÿ›  Fixed an issue with GCC linker when "native" dev-platform is used in pair with library dependencies (issue #3669)
    • Fixed an "AssertionError: ensure_dir_exists" when checking library updates from simultaneous subprocesses (issue #3677)
    • ๐Ÿ›  Fixed an issue when pio package publish command removes original archive after submitting to the registry (issue #3716)
    • Fixed an issue when multiple pio lib install command with the same local library results in duplicates in lib_deps (issue #3715)
    • ๐Ÿ›  Fixed an issue with a "wrong" timestamp in device monitor output using "time" filter (issue #3712)
  • v5.0.1 Changes

    September 10, 2020
    • โž• Added support for "owner" requirement when declaring dependencies using library.json
    • ๐Ÿ“ฆ Fixed an issue when using a custom git/ssh package with platform_packages option (issue #3624)
    • Fixed an issue with "ImportError: cannot import name '_get_backend' from 'cryptography.hazmat.backends'" when using Remote Development on RaspberryPi device (issue #3652)
    • ๐Ÿ›  Fixed an issue when pio package unpublish command crashes (issue #3660)
    • ๐Ÿ›  Fixed an issue when the package manager tries to install a built-in library from the registry (issue #3662)
    • ๐Ÿ›  Fixed an issue with incorrect value for C++ language standard in IDE projects when an in-progress language standard is used (issue #3653)
    • ๐Ÿ›  Fixed an issue with "Invalid simple block (semantic_version)" from library dependency that refs to an external source (repository, ZIP/Tar archives) (issue #3658)
    • ๐Ÿ›  Fixed an issue when can not remove update or remove external dev-platform using PlatformIO Home (issue #3663)
  • v5.0.0 Changes

    September 03, 2020

    Professional collaborative platform for embedded development

    ๐Ÿš€ Release Notes

    Integration with the new PlatformIO Trusted Registry

    ๐Ÿ“ฆ Enterprise-grade package storage with high availability (multi replicas)

    Secure, fast, and reliable global content delivery network (CDN)

    ๐Ÿ“ฆ Universal support for all packages:

    - Libraries
    - Development platforms
    - Toolchains

    Built-in fine-grained access control (role-based, teams, organizations)

    ๐Ÿ†• New CLI commands:

    - [pio package]( โ€“ manage packages in the registry
    - [pio access]( โ€“ manage package access for users, teams, and maintainers

    Integration with the new Account Management System

    - Manage teams and team memberships

    ๐Ÿ“ฆ New Package Management System

    • Integrated PlatformIO Core with the new PlatformIO Registry
    • Support for owner-based dependency declaration (resolves name conflicts) (issue #1824)
    • Automatically save dependencies to "platformio.ini" when installing using PlatformIO CLI (issue #2964)
    • Follow SemVer complaint version constraints when checking library updates issue #1281)

    - Dropped support for "packageRepositories" section in "platform.json" manifest (please publish packages directly to the registry)

    ๐Ÿ‘ท Build System

    โฌ†๏ธ Upgraded build engine to the SCons 4.0 - a next-generation software construction tool

    - [Configuration files are Python scripts]( โ€“ use the power of a real programming language to solve build problems
    - Built-in reliable and automatic dependency analysis
    - Improved support for parallel builds
    - Ability to [share built files in a cache]( to speed up multiple builds

    ๐Ÿ†• New Custom Targets

    - Pre/Post processing based on dependent sources (another target, source file, etc.)
    - Command launcher with own arguments
    - Launch command with custom options declared in ["platformio.ini"](
    - Python callback as a target (use the power of Python interpreter and PlatformIO Build API)
    - List available project targets (including dev-platform specific and custom targets) with a new [pio run --list-targets]( command ([issue #3544](

    Enable "cyclic reference" for GCC linker only for the embedded dev-platforms (issue #3570)

    ๐Ÿ“„ Automatically enable LDF dependency chain+ mode (evaluates C/C++ Preprocessor conditional syntax) for Arduino library when "" has "depends" field (issue #3607)

    ๐Ÿ›  Fixed an issue with improper processing of source files added via multiple Build Middlewares (issue #3531)

    ๐Ÿ›  Fixed an issue with the clean target on Windows when project and build directories are located on different logical drives (issue #3542)

    Project Management

    - Do not generate ".travis.yml" for a new project, let the user have a choice

    โœ… Unit Testing

    • Updated PIO Unit Testing support for Mbed framework and added compatibility with Mbed OS 6
    • Fixed an issue when running multiple test environments (issue #3523)

    - Fixed an issue when Unit Testing engine fails with a custom project configuration file (issue #3583)

    Static Code Analysis

    โšก๏ธ Updated analysis tools:

    - [Cppcheck]( v2.1 with a new "soundy" analysis option and improved code parser
    - [PVS-Studio]( v7.09 with a new file list analysis mode and an extended list of analysis diagnostics

    โž• Added Cppcheck package for ARM-based single-board computers (issue #3559)

    ๐Ÿ›  Fixed an issue with PIO Check when a defect with a multiline error message is not reported in verbose mode (issue #3631)


  • v4.3.4 Changes

    May 23, 2020
  • v4.3.3 Changes

    April 28, 2020
    • ๐Ÿ›  Fixed "UnicodeDecodeError: 'utf-8' codec can't decode byte" when non-Latin chars are used in project path (issue #3481)
  • v4.3.2 Changes

    April 28, 2020
    • ๐Ÿ†• New Account Management System (preview)
    • ๐Ÿ“„ Open source PIO Remote client
    • ๐Ÿ‘Œ Improved PIO Check with more accurate project processing
    • Echo what is typed when send_on_enter device monitor filter is used (issue #3452)
    • ๐Ÿ›  Fixed PIO Unit Testing for Zephyr RTOS
    • ๐Ÿ›  Fixed UnicodeDecodeError on Windows when network drive (NAS) is used (issue #3417)
    • ๐Ÿ›  Fixed an issue when saving libraries in new project results in error "No option 'lib_deps' in section" (issue #3442)
    • ๐Ÿ›  Fixed an incorrect node path used for pattern matching when processing middleware nodes
    • Fixed an issue with missing lib_extra_dirs option in SRC_LIST for CLion (issue #3460)
  • v4.3.1 Changes

    March 20, 2020
    • ๐Ÿ›  Fixed a SyntaxError "'return' with argument inside generator" for PIO Unified Debugger when Python 2.7 is used
    • ๐Ÿ›  Fixed an issue when lib_archive = no was not honored in "platformio.ini"
    • ๐Ÿ›  Fixed a TypeError "super(type, obj): obj must be an instance or subtype of type" when device monitor is used with a custom dev-platform filter (issue #3431)
  • v4.3.0 Changes

    March 19, 2020

    ๐ŸŽ‰ Initial support for an official PlatformIO for CLion IDE plugin:

    • Smart C and C++ editor
    • Code refactoring
    • On-the-fly code analysis
    • "New PlatformIO Project" wizard
    • Building, Uploading, Testing

    - Integrated debugger (inline variable view, conditional breakpoints, expressions, watchpoints, peripheral registers, multi-thread support, etc.)

    ๐Ÿ“„ Device Monitor 2.0

    - Show a hexadecimal representation of the data (code point of each character) with hexlify filter

    ๐Ÿ†• New standalone (1-script) PlatformIO Core Installer

    ๐ŸŽ‰ Initial support for Renode simulation framework (issue #3401)

    โž• Added support for Arm Mbed "module.json" dependencies field (issue #3400)

    ๐Ÿ‘Œ Improved support for Arduino "" depends field

    ๐Ÿ›  Fixed an issue when quitting from PlatformIO IDE does not shutdown PIO Home server

    ๐Ÿ›  Fixed an issue "the JSON object must be str, not 'bytes'" when PIO Home is used with Python 3.5 (issue #3396)

    ๐Ÿ›  Fixed an issue when Python 2 does not keep encoding when converting ".ino" (issue #3393)

    ๐Ÿ›  Fixed an issue when "libArchive": false in "library.json" does not work (issue #3403)

    ๐Ÿ“„ Fixed an issue when not all commands in compilation database "compile_commands.json" use absolute paths (pull #3415)

    ๐Ÿ›  Fixed an issue when unknown transport is used for PIO Unit Testing engine (issue #3422)

  • v4.2.1 Changes

    February 17, 2020
    • ๐Ÿ‘Œ Improved VSCode template with special forceInclude field for direct includes via -include flag (issue #3379)
    • ๐Ÿ‘Œ Improved support of PIO Home on card-sized PC (Raspberry Pi, etc.) (issue #3313)
    • Froze "marshmallow" dependency to 2.X for Python 2 (issue #3380)
    • ๐Ÿ›  Fixed "TypeError: unsupported operand type(s)" when system environment variable is used by project configuration parser (issue #3377)
    • ๐Ÿ›  Fixed an issue when Library Dependency Finder (LDF) ignores custom "libLDFMode" and "libCompatMode" options in library.json
    • ๐Ÿ›  Fixed an issue when generating of compilation database "compile_commands.json" does not work with Python 2.7 (issue #3378)