Release Notes

PlatformIO Core 5

A professional collaborative platform for embedded development

5.0.1 (2020-09-10)

  • 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)

5.0.0 (2020-09-03)

Please check Migration guide from 4.x to 5.0.

  • 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
  • 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
  • Project Management
    • Added support for “globstar/**” (recursive) pattern for the different commands and configuration options (pio ci, src_filter, check_patterns, library.json > srcFilter). Python 3.5+ is required
    • Added a new -e, --environment option to pio project init command that helps to update a PlatformIO project using the existing environment
    • Dump build system data intended for IDE extensions/plugins using a new pio project data command
    • 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)
  • Miscellaneous

PlatformIO Core 4

See PlatformIO Core 4.0 history.

PlatformIO Core 3

See PlatformIO Core 3.0 history.

PlatformIO Core 2

See PlatformIO Core 2.0 history.

PlatformIO Core 1

See PlatformIO Core 1.0 history.

PlatformIO Core Preview

See PlatformIO Core Preview history.