Skip to content

Latest commit

 

History

History
384 lines (293 loc) · 40.5 KB

HISTORY.rst

File metadata and controls

384 lines (293 loc) · 40.5 KB

Release Notes

PlatformIO Core 6

Unlock the true potential of embedded software development with PlatformIO's collaborative ecosystem, embracing declarative principles, test-driven methodologies, and modern toolchains for unrivaled success.

6.1.17 (2024-??-??)

  • Resolved an issue where the compiledb target failed to properly escape compiler executable paths containing spaces (issue #4998)

6.1.16 (2024-09-26)

  • Added support for Python 3.13
  • Introduced the PLATFORMIO_SYSTEM_TYPE environment variable, enabling manual override of the detected system type for greater flexibility and control in custom build environments
  • Enhanced internet connection checks by falling back to HTTPS protocol when HTTP (port 80) fails (issue #4980)
  • Upgraded the build engine to the latest version of SCons (4.8.1) to improve build performance, reliability, and compatibility with other tools and systems (release notes)
  • Upgraded the Doctest testing framework to version 2.4.11, the GoogleTest to version 1.15.2, and the Unity to version 2.6.0, incorporating the latest features and improvements for enhanced testing capabilities
  • Corrected an issue where the incorrect public class was imported for the DoctestTestRunner (issue #4949)

6.1.15 (2024-04-25)

  • Resolved an issue where the LDF couldn't locate a library dependency declared via version control system repository (issue #4885)
  • Resolved an issue related to the inaccurate detection of the Clang compiler (pull #4897)

6.1.14 (2024-03-21)

  • Introduced the --json-output option to the pio test command, enabling users to generate test results in the JSON format
  • Upgraded the build engine to the latest version of SCons (4.7.0) to improve build performance, reliability, and compatibility with other tools and systems (release notes)
  • Broadened version support for the pyelftools dependency, enabling compatibility with lower versions and facilitating integration with a wider range of third-party tools (issue #4834)
  • Addressed an issue where passing a relative path (--project-dir) to the pio project init command resulted in an error (issue #4847)
  • Enhanced Static Code Analysis to accommodate scenarios where custom src_dir or include_dir are located outside the project folder (pull #4874)
  • Corrected the validation of symlink:// package specifications , resolving an issue that caused the package manager to repeatedly reinstall dependencies (pull #4870)
  • Resolved an issue related to the relative package path in the pio pkg publish command
  • Resolved an issue where the LDF selected an incorrect library version (issue #4860)
  • Resolved an issue with the hexlify filter in the device monitor command, ensuring proper representation of characters with Unicode code points higher than 127 (issue #4732)

6.1.13 (2024-01-12)

  • Expanded support for SCons variables declared in the legacy format ${SCONS_VARNAME} (issue #4828)

6.1.12 (2024-01-10)

  • Added support for Python 3.12
  • Introduced the capability to launch the debug server in a separate process (issue #4722)
  • Introduced a warning during the verification of MCU maximum RAM usage, signaling when the allocated RAM surpasses 100% (issue #4791)
  • Drastically enhanced the speed of project building when operating in verbose mode (issue #4783)
  • Upgraded the build engine to the latest version of SCons (4.6.0) to improve build performance, reliability, and compatibility with other tools and systems (release notes)
  • Enhanced the handling of built-in variables in "platformio.ini" configuration file during Interpolation of Values (issue #4695)
  • Enhanced PIP dependency declarations for improved reliability and extended support to include Python 3.6 (issue #4819)
  • Implemented automatic installation of missing dependencies when utilizing a SOCKS proxy (issue #4822)
  • Implemented a fail-safe mechanism to terminate a debugging session if an unknown CLI option is passed (issue #4699)
  • Rectified an issue where ${platformio.name} erroneously represented None as the default project name (issue #4717)
  • Resolved an issue where the COMPILATIONDB_INCLUDE_TOOLCHAIN setting was not correctly applying to private libraries (issue #4762)
  • Resolved an issue where get_systype() inaccurately returned the architecture when executed within a Docker container on a 64-bit kernel with a 32-bit userspace (issue #4777)
  • Resolved an issue with incorrect handling of the check_src_filters option when used in multiple environments (issue #4788)
  • Resolved an issue where running pio project metadata resulted in duplicated "include" entries (issue #4723)
  • Resolved an issue where native debugging failed on the host machine (issue #4745)
  • Resolved an issue where custom debug configurations were being inadvertently overwritten in VSCode's launch.json (issue #4810)

6.1.11 (2023-08-31)

  • Resolved a possible issue that may cause generated projects for PlatformIO IDE for VSCode to fail to launch a debug session because of a missing "objdump" binary when GDB is not part of the toolchain package
  • Resolved a regression issue that resulted in the malfunction of the Memory Inspection feature within PIO Home

6.1.10 (2023-08-11)

  • Resolved an issue that caused generated projects for PlatformIO IDE for VSCode to break when the -iprefix compiler flag was used
  • Resolved an issue encountered while utilizing the pio pkg exec command on the Windows platform to execute Python scripts from a package
  • Implemented a crucial improvement to the pio run command, guaranteeing that the monitor target is not executed if any of the preceding targets, such as upload, encounter failures
  • Cppcheck v2.11 with new checks, CLI commands and various analysis improvements
  • Resolved a critical issue that arose on macOS ARM platforms due to the Python "requests" module, leading to a "ModuleNotFoundError: No module named 'chardet'" (issue #4702)

6.1.9 (2023-07-06)

6.1.8 (2023-07-05)

  • Added a new --lint option to the pio project config command, enabling users to efficiently perform linting on the "platformio.ini" configuration file
  • Enhanced the parsing of the "platformio.ini" configuration file to provide comprehensive diagnostic information
  • Expanded the functionality of the library.json manifest by allowing the use of the underscore symbol in the keywords field
  • Optimized project integration templates to address the issue of long paths on Windows (issue #4652)
  • Refactored Unit Testing engine to resolve compiler warnings with "-Wpedantic" option (pull #4671)
  • Eliminated erroneous warning regarding the use of obsolete PlatformIO Core when downgrading to the stable version (issue #4664)
  • Updated the pio project metadata command to return C/C++ flags as parsed Unix shell arguments when dumping project build metadata
  • Resolved a critical issue related to the usage of the -include flag within the build_flags option, specifically when employing dynamic variables (issue #4682)
  • Removed PlatformIO IDE for Atom from the documentation as Atom has been deprecated

6.1.7 (2023-05-08)

  • Introduced a new --sample-code option to the pio project init command, which allows users to include sample code in the newly created project
  • Added validation for project working environment names to ensure that they only contain lowercase letters a-z, numbers 0-9, and special characters _ (underscore) and - (hyphen)
  • Added the ability to show a detailed library dependency tree only in verbose mode, which can help you understand the relationship between libraries and troubleshoot issues more effectively (issue #4517)
  • Added the ability to run only the device monitor when using the pio run -t monitor command, saving you time and resources by skipping the build process
  • Implemented a new feature to store device monitor logs in the project's logs folder, making it easier to access and review device monitor logs for your projects (issue #4596)
  • Improved support for projects located on Windows network drives, including Network Shared Folder, Dropbox, OneDrive, Google Drive, and other similar services (issue #3417)
  • Improved source file filtering functionality for the Static Code Analysis feature, making it easier to analyze only the code you need to
  • Upgraded the build engine to the latest version of SCons (4.5.2) to improve build performance, reliability, and compatibility with other tools and systems (release notes)
  • Implemented a fix for shell injection vulnerabilities when converting INO files to CPP, ensuring your code is safe and secure (issue #4532)
  • Restored the project generator for the NetBeans IDE, providing you with more flexibility and options for your development workflow
  • Resolved installation issues with PIO Remote on Raspberry Pi and other small form-factor PCs (issue #4425, issue #4493, issue #4607)
  • Resolved an issue where the build_cache_dir setting was not being recognized consistently across multiple environments (issue #4574)
  • Resolved an issue where organization details could not be updated using the pio org update command
  • Resolved an issue where the incorrect debugging environment was generated for VSCode in "Auto" mode (issue #4597)
  • Resolved an issue where native tests would fail if a custom program name was specified (issue #4546)
  • Resolved an issue where the PlatformIO Debugging solution was not escaping the tool installation process into MI2 correctly (issue #4565)
  • Resolved an issue where multiple targets were not executed sequentially (issue #4604)
  • Resolved an issue where upgrading PlatformIO Core fails on Windows with Python 3.11 (issue #4540)

6.1.6 (2023-01-23)

  • Added support for Python 3.11
  • Added a new name configuration option to customize a project name (pull #4498)
  • Made assets (templates, 99-platformio-udev.rules) part of Python's module (issue #4458)
  • Updated Clang-Tidy check tool to v15.0.5 with new diagnostics and bugfixes
  • Removed dependency on the "zeroconf" package and install it only when a user lists mDNS devices (issue with zeroconf's LGPL license)
  • Show the real error message instead of "Can not remove temporary directory" when "platformio.ini" configuration file is broken (issue #4480)
  • Fixed an issue with an incorrect test summary when a testcase name includes a colon (issue #4508)
  • Fixed an issue when extends did not override options in the right order (issue #4462)
  • Fixed an issue when pio pkg list and pio pkg uninstall commands fail if there are circular dependencies in the library.json manifests (issue #4475)

6.1.5 (2022-11-01)

6.1.4 (2022-08-12)

  • Added support for accepting the original FileNode environment in a "callback" function when using Build Middlewares (pull #4380)
  • Improved device port finder when using dual channel UART converter (issue #4367)
  • Improved project dependency resolving when using the pio project init --ide command
  • Upgraded build engine to the SCons 4.4.0 (release notes)
  • Keep custom "unwantedRecommendations" when generating projects for VSCode (issue #4383)
  • Do not resolve project dependencies for the cleanall target (issue #4344)
  • Warn about calling "env.BuildSources" in a POST-type script (issue #4385)
  • Fixed an issue when escaping macros/defines for IDE integration (issue #4360)
  • Fixed an issue when the "cleanall" target removes dependencies from all working environments (issue #4386)

6.1.3 (2022-07-18)

  • Fixed a regression bug when opening device monitor without any filters (issue #4363)

6.1.2 (2022-07-18)

6.1.1 (2022-07-11)

  • Added new monitor_encoding project configuration option to configure Device Monitor (issue #4350)
  • Allowed specifying project environments for pio ci command (issue #4347)
  • Show "TimeoutError" only in the verbose mode when can not find a serial port
  • Fixed an issue when a serial port was not automatically detected if the board has predefined HWIDs
  • Fixed an issue with endless scanning of project dependencies (issue #4349)
  • Fixed an issue with LDF when incompatible libraries were used for the working project environment with the missed framework (pull #4346)

6.1.0 (2022-07-06)

  • Device Manager
  • Unit Testing
    • Updated "Getting Started" documentation for GoogleTest testing and mocking framework
    • Export Unit Testing flags only to the project build environment (projenv, files in "src" folder)
    • Merged the "building" stage with "uploading" for the embedded target (issue #4307)
    • Do not resolve dependencies from the project "src" folder when the test_build_src option is not enabled
    • Do not immediately terminate a testing program when results are received
    • Fixed an issue when a custom pio test --project-config was not handled properly (issue #4299)
    • Fixed an issue when testing results were wrong in the verbose mode (issue #4336)
  • Build System
  • Package Management
    • Fixed an issue when library dependencies were installed for the incompatible project environment (issue #4338)
  • Miscellaneous

6.0.2 (2022-06-01)

6.0.1 (2022-05-17)

6.0.0 (2022-05-16)

Please check the Migration guide from 5.x to 6.0.

PlatformIO Core 5

See PlatformIO Core 5.0 history.

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.