6730 Commits
Author SHA1 Message Date
Ivan Kravets 8eae297f2f Bump version to 6.2.0b1 2026-08-22 20:46:14 +03:00
Ivan Kravets 8c464eedbc Do not exit when test fails 2026-08-22 20:45:55 +03:00
Ivan Kravets 2648e251cf Removed support for static code analysis via PVS-Studio // Resolve #5360 2026-08-22 20:26:29 +03:00
Ivan Kravets 5010356236 Update CI actions and switch CI to Python 3.14 2026-08-22 16:57:54 +03:00
Ivan Kravets 44cea9ec63 Fixed a security vulnerability where ZIP archives containing relative path traversal entries // Pull #5499 2026-08-22 16:56:24 +03:00
fe7c14a4b7 prevent path traversal via chmod and mtime in zip unpacking (#5499)
* prevent path traversal via chmod and mtime in zip unpacking

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix indentation of is_bad_path method

---------

Co-authored-by: Ivan Kravets <me@ikravets.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-08-22 16:48:36 +03:00
Ivan Kravets 1a6d3aeb1b Upgrade to Scons 4.11 // Resolve #5105 2026-08-11 20:20:39 +03:00
Ivan Kravets 88ea0b1864 Improve caller recognition 2026-08-11 15:57:36 +03:00
Ivan Kravets f335fcdb04 Fixed an issue where debug flags with level specifications (such as `-g2`) were passed to the standalone assembler // Resolve #5005 2026-08-07 18:12:11 +03:00
Ivan Kravets a0efc7f485 Bump version to 6.2.0a3 2026-07-08 14:50:43 +03:00
Ivan Kravets eb3991e6e6 Fixed compatibility with `pipx- and uvx`-managed environments // Resolve #5305 Resolve #5418 Resolve #5468 2026-07-08 14:49:55 +03:00
Ivan Kravets 0dcc525d62 Update changelog for pull #5470 2026-07-08 14:35:15 +03:00
josh a8ff6feacc Fix: relative -d/--project-dir path causes FileNotFoundError in device monitor (#5470)
Fix: resolve relative -d/--project-dir path in `pio device monitor`

`device_monitor_cmd`'s `-d/--project-dir` option accepted a relative path
without resolving it to absolute. The command then entered
`with fs.cd(options["project_dir"]):`, changing the working directory into
that relative subdir. Downstream, a platform monitor filter (e.g. the
espressif32 exception decoder) re-enters the same still-relative
`project_dir` via `load_build_metadata()`'s own `fs.cd()`, duplicating the
path segment onto the already-changed cwd and crashing with
FileNotFoundError (platformio/platformio-core#5439).

Add `resolve_path=True` to the click.Path type so the path is resolved to
absolute once, at the point it enters the system, before any fs.cd() chain
runs. This does not change the no-flag default (os.getcwd already returns
absolute) or the already-absolute case (passes through unchanged, modulo
symlink resolution).

Add a regression test mirroring the nested fs.cd() scenario, plus coverage
for the default and already-absolute cases.
2026-07-08 12:18:29 +03:00
Ivan Kravets 0b82f71e37 Increase the maximum length of dependency version specifications to support long package URLs in project manifests // Resolve #5459 2026-06-23 18:39:29 +03:00
Ivan Kravets 04f351d389 Bump version to 6.2.0a2 2026-06-23 18:29:50 +03:00
Ivan Kravets 694fe1fa4d Resolve the issue with circular import // Resolve #5462 2026-06-23 18:29:19 +03:00
Ivan Kravets 8fb7658eed Added an option to disable the 99-platformio-udev.rules 2026-06-11 15:22:27 +03:00
Dmytro Bagrii 642b56822f Option to disable udev rules check (#5204)
This introduces "disable_udev_rules_check" option in Linux environment.

If set to True, udev rules are not checked. This allows to suppress annoying
warnings when 99-platformio-udev.rules is not installed intentionally.

If set to False (default), udev rules are checked as before.
2026-06-11 15:06:49 +03:00
Ivan Kravets b094d53296 Update changelog 2026-06-11 14:59:39 +03:00
Ivan Kravets bd4244093c Update changelog 2026-06-11 14:56:02 +03:00
Jamie Magee 1cc980fa5c Add PLATFORMIO_DISABLE_UPGRADE_CHECK env var (#5428)
Skips the periodic PyPI version check and core package auto-update
when set. Distro packages and CI typically manage upgrades themselves.

Ref: https://github.com/platformio/platformio-core/issues/5427
2026-06-11 14:47:19 +03:00
Tinyu 53650afbe3 run: add -p/--port shortcut to set upload-port and monitor-port simultaneously. (#5429)
Implement port shortcut for upload and monitor.

Add shortcut option for upload and monitor ports
2026-06-11 14:31:06 +03:00
J. Nick Koston 8898b94af4 Avoid infinite loop when cached mirror redirect keeps failing (#5435)
* Avoid infinite loop when cached mirror redirect keeps failing

The registry mirror iterator caches the HEAD redirect for one hour,
but the cache hit path never advanced _visited_mirrors, and the
cached payload did not include X-PIO-Mirror. When a prior run cached
a redirect to a mirror that now fails (for example an SSL error on
the download), subsequent iterations kept hitting the same cache key
and returning the same failing mirror forever, so tool installs
looped until interrupted.

Store X-PIO-Mirror in the cached payload, and on cache hit only
reuse the entry if it names a mirror not already tried; otherwise
fall through to a fresh HEAD with bypass set. Stale cache entries
written before this change lack X-PIO-Mirror and fall through
naturally, so the fix self heals without a manual cache clear.

* Add unit tests for registry mirror iterator cache handling

Cover the cache hit path advancing _visited_mirrors, stale cache
entries without X-PIO-Mirror falling through to a fresh HEAD, and
new HEAD responses persisting X-PIO-Mirror so later runs can tell
whether the cached redirect still names an untried mirror. Each
test fails against the previous iterator implementation.

* Add type annotations to mirror iterator tests

* Use typing.X annotations for 3.6 compatibility

* Satisfy pylint and black on mirror iterator tests
2026-06-11 14:27:47 +03:00
chunix64 878a31ba40 Update 99-platformio-udev.rules: add 303a:4001 Espressif Systems Espressif Device (#5445)
Thanks for the PR
2026-06-11 14:19:33 +03:00
Ivan Kravets 7bc29315ab Add support for the latest Click 2026-06-11 14:18:09 +03:00
Ivan Kravets f084a47f19 Bump version to 6.2.0a1 2026-06-11 14:06:04 +03:00
Ivan Kravets 6bf706c9b0 Add support for stable Starlette 1.0 // Resolve #5350 , Resolve #5423 2026-06-11 14:05:43 +03:00
Ivan Kravets 782b152bd9 Dropped support for Python 3.6 2026-06-11 13:46:16 +03:00
Ivan Kravets 39592f8c05 Fixed an issue where the test suite status was incorrectly hardcoded as PASSED // Resolve #5183 Resolve #5302 Resolve #5436 2026-04-21 16:24:05 +03:00
Ivan Kravets 4ebf11bdeb Update deps 2026-04-21 16:23:05 +03:00
Ivan Kravets 5234675f5a Remove unused imports 2026-04-14 12:56:22 +03:00
Ivan Kravets f6734e6114 Bump version to 6.1.20b1 2026-04-14 12:52:57 +03:00
Ivan Kravets 3f9ccb669b Resolved an issue with floating-point precision in duration formatting // Resolve #5424 2026-04-14 12:52:24 +03:00
Ivan Kravets 4d4fb00a7e Resolved an issue where Unit Testing failed on Windows due to improper handling of `Serial.end()` // Resolve #5359 2026-04-14 12:50:12 +03:00
Ivan Kravets 91004fbddd Update dependencies 2026-04-14 12:49:30 +03:00
Nguyen Huy Hoang 0f30c31b95 Stop closing Arduino serial port at Unity test completion (#5405)
refactor: stop closing arduino serial port at unity test completion

Signed-off-by: Nguyen Huy Hoang <181364121+huyhoang171106@users.noreply.github.com>
2026-04-14 12:31:28 +03:00
Ivan Kravets 23a19a8c31 Fix library test 2026-03-27 19:54:52 +02:00
Ivan Kravets b5be5816ba Fixed an issue where the library integrity metadata was not invalidated // Resolve #5232 2026-03-27 19:19:16 +02:00
Ivan Kravets e4d2e44ad0 Fixed an issue where the library integrity metadata was not invalidated // Resolve #5232 2026-03-27 19:18:35 +02:00
Ivan Kravets c4e2a87ca1 Fix test 2026-03-27 19:17:18 +02:00
knQzx c4112e2b21 fix integrity.dat not being cleaned on version string typo (#5412)
catch SemanticVersionError when removing unused libdeps so a typo
in the version string doesn't permanently block builds

fixes #5232
2026-03-27 19:06:20 +02:00
Ivan Kravets a11e75b2f6 Sync docs 2026-03-26 17:02:04 +02:00
Ivan Kravets e530145bfa Fix test 2026-03-26 17:01:53 +02:00
Ivan Kravets c23ee27833 Update dependencies 2026-03-26 15:00:59 +02:00
Ivan Kravets 73d9f3dbea Bump version to 6.1.20a2 2026-02-23 14:44:48 +02:00
Ivan Kravets efa710d6b7 Clarify HTTP 429 limits during PlatformIO package downloads 2026-02-23 14:44:27 +02:00
Ivan Kravets 104c872457 Update deps 2026-02-22 11:37:32 +02:00
Ivan Kravets c201425a40 Bump version to 6.1.20a1 2026-02-04 16:20:41 +02:00
Ivan Kravets f8f24ea1f6 Merge tag 'v6.1.19' into develop
Bump version to 6.1.19
2026-02-04 15:25:10 +02:00
Ivan Kravets 15b8859aee Merge branch 'release/v6.1.19' v6.1.19 2026-02-04 15:25:09 +02:00