- Dropped support for Python 3.6, 3.7 and 3.8, requiring Python 3.9 or newer to run PlatformIO Core (issue #5414)
- Removed support for static code analysis via PVS-Studio following its deprecation by the vendor (pull #5360)
- Added a new
-p, --portoption to the pio run command, allowing users to set bothupload_portandmonitor_portsimultaneously for a more streamlined workflow (pull #5429) - Added an option to disable the 99-platformio-udev.rules check, providing greater flexibility in environments where system-level udev configuration is not required (pull #5204)
- Introduced the PLATFORMIO_DISABLE_UPGRADE_CHECK environment variable, allowing users to disable upgrade availability checks when needed (pull #5428)
- Upgraded the build engine to the latest version of SCons (4.11.1) to improve build performance, reliability, and compatibility with other tools and systems (release notes)
- Increased the maximum length of dependency version specifications to support long package URLs in project manifests (issue #5459)
- Handled Windows path length limitations during package extraction by raising a descriptive error with instructions to enable long paths when a "FileNotFoundError" occurs (issue #5500)
- Omitted skipped environments and test suites from the Unit Testing summary output when filtering with
-eor-foptions (issue #5402) - Fixed an issue that could cause an infinite retry loop when a cached package mirror redirect repeatedly failed (pull #5435)
- Fixed an issue where the library integrity metadata was not invalidated after correcting invalid version requirements (issue #5232)
- Fixed an issue where Unit Testing failed on Windows due to improper handling of
Serial.end()(issue #5359) - Fixed an issue with floating-point precision in duration formatting that caused incorrect millisecond reporting (issue #5424)
- Fixed an issue where the test suite status was incorrectly hardcoded as PASSED (issue #5183)
- Fixed an issue where using a relative path with the
-d, --project-diroption caused pio device monitor to fail with a "FileNotFoundError" (pull #5470) - Fixed compatibility with
pipx- anduvx-managed environments by ensuring the requiredpipdependency is available when installing Python-based tool packages (issue #5305) - Fixed an issue where debug flags with level specifications (such as
-g2) were passed to the standalone assembler, causing fatal compilation errors on.sfiles (issue #5005) - Fixed a security vulnerability where ZIP archives containing relative path traversal entries (e.g.,
../) could alter permissions or timestamps of files outside the destination directory (pull #5499) - Fixed an unhandled
termiosexception when running pio device monitor with redirected or non-TTYstdin, replacing the traceback with a clear user error (pull #5503) - Fixed an issue with improper static analysis report if project is analyzed in verbose mode (issue #4943)
- Fixed an issue where the test framework library was unintentionally removed from the project dependencies when building a project outside of testing mode (issue #5388)
- Fixed an issue where relative header paths provided via
-includebuild flags were not resolved to absolute paths inc_cpp_properties.json, causing IntelliSense errors (issue #5449)