PlatformIO Core 6.1 🚀

We are happy to announce the next release of PlatformIO Core with refactored Device Monitor, Pre & Post Actions for library authors, Stringification helpers, and an improved PlatformIO Unit Testing solution for test-driven embedded development. Read more :point_right:

PlatformIO Core 6.1.2 is out!

See PlatformIO 6.1.2 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run pio upgrade command in terminal.

Regards,
Your friends at PlatformIO

PlatformIO Core 6.1.3 is out!

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

See PlatformIO 6.1.3 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run pio upgrade command in terminal.

Regards,
Your friends at PlatformIO

Thanks so much for this great update. While trying out the new Device Monitor features I saw mention of the ANSI library to control the colour of output. I currently use the following monitor filters;

monitor_filters = 
	time
	log2file

Is there a way in PIO/VSC to then view the resulting log file and have it render the ANSI in the log file rather than show it as

15:03:06.102 > e[2Je[He[30mforegrounde[0me[40mbackground
15:03:06.103 > e[0me[31mforegrounde[0me[41mbackground
15:03:06.103 > e[0me[32mforegrounde[0me[42mbackground
15:03:06.104 > e[0me[33mforegrounde[0me[43mbackground
15:03:06.104 > e[0me[34mforegrounde[0me[44mbackground
15:03:06.105 > e[0me[35mforegrounde[0me[45mbackground

Thanks,
PJ

The colour rendering works fine in the Device Monitor, its just the log file I’m asking about.
Thanks

Yes, you create your own filter and do whatever you want. See example pio device monitor — PlatformIO latest documentation

Also, this small helper can be used to remove ANSI codes

PlatformIO Core 6.1.4 is out!

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

See PlatformIO 6.1.4 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run pio upgrade command in terminal.

Regards,
Your friends at PlatformIO

PlatformIO Core 6.1.5 is out!

See PlatformIO 6.1.5 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

PlatformIO Core 6.1.6 is out!

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

See PlatformIO 6.1.6 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

PlatformIO Core 6.1.7 is out!

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

See PlatformIO 6.1.7 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

PlatformIO Core 6.1.8 is out!

  • 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

See PlatformIO 6.1.8 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

1 Like

PlatformIO Core 6.1.10 is out!

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

See PlatformIO 6.1.10 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

1 Like

PlatformIO Core 6.1.11 is out!

  • 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

See PlatformIO 6.1.11 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

2 Likes

PlatformIO Core 6.1.14 is out!

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

See PlatformIO 6.1.14 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

1 Like

PlatformIO Core 6.1.15 is out!

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

See PlatformIO 6.1.15 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

PlatformIO Core 6.1.16 is out!

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

See PlatformIO 6.1.16 Release Notes for details.

Upgrade

  • PlatformIO IDE: Left Sidebar > PlatformIO (icon) > Quick Access > Upgrade PlatformIO Core
  • Terminal: Please run the pio upgrade command in the terminal.

Regards,
Your friends at PlatformIO

1 Like