Skip to content

Releases: platformio/platformio-core

5.0.1

10 Sep 14:49
Compare
Choose a tag to compare
  • 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

03 Sep 11:47
Compare
Choose a tag to compare

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

  • 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

4.3.4

23 May 17:38
Compare
Choose a tag to compare

4.3.3

28 Apr 15:11
Compare
Choose a tag to compare
  • Fixed "UnicodeDecodeError: 'utf-8' codec can't decode byte" when non-Latin chars are used in project path (issue #3481)

4.3.2

28 Apr 10:29
Compare
Choose a tag to compare
  • 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)

4.3.1

20 Mar 13:15
Compare
Choose a tag to compare
  • 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)

4.3.0

19 Mar 20:45
Compare
Choose a tag to compare
  • 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

    • Added PlatformIO Device Monitor Filter API (dev-platforms can extend base device monitor with a custom functionality, such as exception decoding) (pull #3383)
    • Configure project device monitor with monitor_filters option
    • Capture device monitor output to a file with log2file filter (issue #670)
    • Show a timestamp for each new line with time filter (issue #981)
    • Send a text to device on ENTER with send_on_enter filter (issue #926)
    • 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 "library.properties" 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)

4.2.1

17 Feb 12:27
Compare
Choose a tag to compare
  • 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)

4.2.0

12 Feb 14:54
Compare
Choose a tag to compare
  • PlatformIO Home 3.1:

  • PIO Check – automated code analysis without hassle:

    • Added support for PVS-Studio static code analyzer
  • Initial support for Project Manager CLI:

  • Generate compilation database "compile_commands.json" (issue #2990)

  • Control debug flags and optimization level with a new debug_build_flags option

  • Install a dev-platform with ALL declared packages using a new --with-all-packages option for pio platform install command (issue #3345)

  • Added support for "pythonPackages" in platform.json manifest (PlatformIO Package Manager will install dependent Python packages from PyPi registry automatically when dev-platform is installed)

  • Handle project configuration (monitor, test, and upload options) for PIO Remote commands (issue #2591)

  • Added support for Arduino's library.properties depends field (issue #2781)

  • Autodetect monitor port for boards with specified HWIDs (issue #3349)

  • Updated SCons tool to 3.1.2

  • Updated Unity tool to 2.5.0

  • Made package ManifestSchema compatible with marshmallow >= 3 (issue #3296)

  • Warn about broken library manifest when scanning dependencies (issue #3268)

  • Do not overwrite custom items in VSCode's "extensions.json" (issue #3374)

  • Fixed an issue when env.BoardConfig() does not work for custom boards in extra scripts of libraries (issue #3264)

  • Fixed an issue with "start-group/end-group" linker flags on Native development platform (issue #3282)

  • Fixed default PIO Unified Debugger configuration for J-Link probe

  • Fixed an issue with LDF when header files not found if "libdeps_dir" is within a subdirectory of "lib_extra_dirs" (issue #3311)

  • Fixed an issue "Import of non-existent variable 'projenv''" when development platform does not call "env.BuildProgram()" (issue #3315)

  • Fixed an issue when invalid CLI command does not return non-zero exit code

  • Fixed an issue when Project Inspector crashes when flash use > 100% (issue #3368)

  • Fixed a "UnicodeDecodeError" when listing built-in libraries on macOS with Python 2.7 (issue #3370)

  • Fixed an issue with improperly handled compiler flags with space symbols in VSCode template (issue #3364)

  • Fixed an issue when no error is raised if referred parameter (interpolation) is missing in a project configuration file (issue #3279)

4.1.0

07 Nov 15:01
Compare
Choose a tag to compare
  • PIO Check – automated code analysis without hassle:
    • Potential NULL pointer dereferences
    • Possible indexing beyond array bounds
    • Suspicious assignments
    • Reads of potentially uninitialized objects
    • Unused variables or functions
    • Out of scope memory usage.
  • PlatformIO Home 3.0 and Project Inspection
    • Static Code Analysis
    • Firmware File Explorer
    • Firmware Memory Inspection
    • Firmware Sections & Symbols Viewer.
  • Added support for Build Middlewares: configure custom build flags per specific file, skip any build nodes from a framework, replace build file with another on-the-fly, etc.
  • Extend project environment configuration in "platformio.ini" with other sections using a new extends option (issue #2953)
  • Generate .ccls LSP file for Emacs cross references, hierarchies, completion and semantic highlighting
  • Added --no-ansi flag for PIO Core to disable ANSI control characters
  • Added --shutdown-timeout option to PIO Home Server
  • Fixed an issue with project generator for CLion IDE when 2 environments were used (issue #2824)
  • Fixed default PIO Unified Debugger configuration for J-Link probe
  • Fixed an issue when configuration file options partly ignored when using custom --project-conf (issue #3034)
  • Fixed an issue when installing a package using custom Git tag and submodules were not updated correctly (issue #3060)
  • Fixed an issue with linking process when $LDSCRIPT contains a space in path
  • Fixed security issue when extracting items from TAR archive (issue #2995)
  • Fixed an issue with project generator when src_build_flags were not respected (issue #3137)
  • Fixed an issue when booleans in "platformio.ini" are not parsed properly (issue #3022)
  • Fixed an issue with invalid encoding when generating project for Visual Studio (issue #3183)
  • Fixed an issue when Project Config Parser does not remove in-line comments when Python 3 is used (issue #3213)
  • Fixed an issue with a GCC Linter for PlatformIO IDE for Atom (issue #3218)