pio-upgrade
Upgrade PlatformIO core and related components
TLDR
Update PlatformIO to the latest version
Update PlatformIO to the latest development (unstable) version
SYNOPSIS
pio upgrade [OPTIONS]
PARAMETERS
--dev
Upgrades the PlatformIO Core to the latest development (bleeding-edge) version. This option provides access to new features and fixes before they are officially released, but it may also introduce unstable behavior or bugs. Not recommended for production environments.
--dry-run
Performs a simulated upgrade process without actually installing or modifying any files. This is useful for previewing what changes would occur during an upgrade, allowing users to identify potential issues or dependencies before committing to the full installation.
--skip-python-check
Bypasses the integrity check for the Python executable used by PlatformIO. This option can be useful in specific environments where the check might incorrectly flag issues, but it should be used with caution as it skips a fundamental verification step.
--help
Displays a help message for the pio upgrade command, listing available options and their brief descriptions, and then exits.
DESCRIPTION
The pio upgrade command is an essential utility within the PlatformIO ecosystem, designed to update the PlatformIO Core to its most recent stable release. The Core serves as the foundational command-line interface for PlatformIO, enabling interaction with development platforms, frameworks, libraries, and project management tasks.
Executing this command ensures that users benefit from the newest features, critical bug fixes, performance enhancements, and support for the latest hardware and software components in the embedded development landscape. It typically fetches packages from official PlatformIO repositories, providing a streamlined update process that maintains compatibility and system integrity. Unlike pio update, which updates project dependencies, pio upgrade specifically targets the underlying PlatformIO CLI tool itself.
CAVEATS
Important Considerations:
An active internet connection is required to download the necessary update packages.
Depending on your PlatformIO installation method (system-wide vs. user-specific), administrative privileges (e.g., using sudo on Linux/macOS) may be necessary to successfully perform the upgrade.
Using the --dev flag can lead to unstable software and is not recommended for critical projects.
Significant changes in PlatformIO Core versions might occasionally introduce minor incompatibilities with older project setups, though such instances are rare and usually documented.
INTERNET CONNECTION
Successful execution of pio upgrade relies on an active internet connection to retrieve the latest PlatformIO Core packages from their official distribution servers.
PERMISSIONS
For system-wide installations of PlatformIO Core, it is often necessary to run the pio upgrade command with elevated privileges (e.g., using sudo pio upgrade on Linux or macOS) to allow modifications to system directories.
DEVELOPMENT VERSION CAUTION
While the --dev flag offers early access to cutting-edge features, it is crucial to understand that development versions are inherently less stable and might contain bugs. It should only be used by advanced users for testing purposes, not for production work.
HISTORY
The pio upgrade command has been a core component of the PlatformIO CLI since its early days. Initially, users might have manually updated PlatformIO via pip commands, but the integrated pio upgrade command was introduced to provide a more consistent, user-friendly, and robust method for keeping the PlatformIO Core updated. Its evolution reflects PlatformIO's commitment to simplifying embedded development workflows and ensuring users can easily access the latest tools and features without complex manual intervention. This command helps to bridge the gap between rapidly evolving hardware and software ecosystems.
SEE ALSO
pio update, pio install, pio platform, pio lib, pip(1)