Releases: platformio/platformio-core
Releases · platformio/platformio-core
6.1.8
- 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
- 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)
6.1.6
- 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
- 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)
6.1.4
- 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
- Fixed a regression bug when opening device monitor without any filters (issue #4363)
6.1.2
- 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)
6.1.1
- 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
-
Device Manager
- Automatically reconnect device monitor if a connection fails
- Added new pio device monitor --no-reconnect option to disable automatic reconnection
- Handle device monitor disconnects more gracefully (issue #3939)
- Improved a serial port finder for Black Magic Probe (issue #4023)
- Improved a serial port finder for a board with predefined HWIDs
- Replaced
monitor_flags
with independent project configuration options: monitor_parity, monitor_eol, monitor_raw, monitor_echo - Fixed an issue when the monitor filters were not applied in their order (issue #4320)
-
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
- Significantly improved support for Pre & Post Actions
- Allowed to declare actions in the PRE-type scripts even if the target is not ready yet
- Allowed library maintainers to use Pre & Post Actions in the library extraScript
- Documented Stringification – converting a macro argument into a string constant (issue #4310)
- Added new pio run --monitor-port option to specify custom device monitor port to the
monitor
target (issue #4337) - Added
env.StringifyMacro(value)
helper function for the Advanced Scripting - Allowed to
Import("projenv")
in a library extra script (issue #4305) - Fixed an issue when the build_unflags operation ignores a flag value (issue #4309)
- Fixed an issue when the build_unflags option was not applied to the
ASPPFLAGS
scope - Fixed an issue on Windows OS when flags were wrapped to the temporary file while generating the Compilation database "compile_commands.json"
- Fixed an issue with the LDF when recursively scanning dependencies in the
chain
mode - Fixed a "PermissionError" on Windows when running "clean" or "cleanall" targets (issue #4331)
- Significantly improved support for Pre & Post Actions
-
Package Management
- Fixed an issue when library dependencies were installed for the incompatible project environment (issue #4338)
-
Miscellaneous
- Warn about incompatible Bash version for the Shell Completion (issue #4326)
6.0.2
- Control Unit Testing verbosity with a new multilevel pio test -v command option (issue #4276)
- Follow symbolic links during searching for the unit test suites (issue #4288)
- Show a warning when testing an empty project without a test suite (issue #4278)
- Improved support for Asking for input (prompts)
- Fixed an issue when the build_src_flags option was applied outside the project scope (issue #4277)
- Fixed an issue with debugging assembly files without preprocessor (".s")