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
PlatformIO Core 6.1.2 is out!
- Export a
PIO_UNIT_TESTING
macro to the project source files and dependent libraries in the Unit Testing mode - Improved detection of Windows architecture (issue #4353)
- Warn about unknown device monitor filters (issue #4362)
- Fixed a regression bug when libArchive option declared in the library.json manifest was ignored (issue #4351)
- Fixed an issue when the pio pkg publish command didnât work with Python 3.6 (issue #4352)
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!
- Added a new enable_proxy_strict_ssl setting to disable the proxy server certificate verification (issue #4432)
- Documented PlatformIO Core Proxy Configuration
- Speeded up device port finder by avoiding loading board HWIDs from development platforms
- Improved caching of build metadata in debug mode
- Fixed an issue when pio pkg install --storage-dir command requires PlatformIO project (issue #4410)
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
, numbers0-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
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 asupload
, 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
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
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
orinclude_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
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