All Versions
Latest Version
Avg Release Cycle
36 days
Latest Release
816 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)