Summary
pioarduino platform releases that predate the unified ESP32 toolchain, such as 51.03.04 (arduino-esp32 3.0 / IDF 5.1), declare per-MCU toolchains from the PlatformIO registry:
"toolchain-xtensa-esp32s3": { "owner": "espressif", "version": "12.2.0+20230208" },
"toolchain-riscv32-esp": { "owner": "espressif", "version": "12.2.0+20230208" }
fbuild's ESP32 toolchain resolution only understands the unified metadata-URL scheme (toolchain-xtensa-esp-elf / toolchain-riscv32-esp whose version is a URL). Until now such a pin was never actually built: releases before #1434 ignored platform = pins, and the fix for the resulting 404 falls back to the stable platform with a warning (the PR that fixes the 404).
What honoring these pins would take
- Resolve
owner/tool/name@version through the registry API. https://api.registry.platformio.org/v3/packages/espressif/tool/toolchain-xtensa-esp32s3 lists every version's files per system (linux_x86_64, windows_amd64, darwin_arm64, …) with download_url and sha256.
- Per-MCU binary prefixes (
xtensa-esp32s3-elf-, not xtensa-esp-elf-) and the matching directory layout.
- GCC 12-era compile/link flag differences against the 3.0 framework.
Why it matters
FastLED pins 51.03.04 for its "IDF 5.1" coverage boards, and that coverage has silently built against stable the whole time. Honoring the pin would make it real.
🤖 Generated with Claude Code
Summary
pioarduino platform releases that predate the unified ESP32 toolchain, such as 51.03.04 (arduino-esp32 3.0 / IDF 5.1), declare per-MCU toolchains from the PlatformIO registry:
fbuild's ESP32 toolchain resolution only understands the unified metadata-URL scheme (
toolchain-xtensa-esp-elf/toolchain-riscv32-espwhoseversionis a URL). Until now such a pin was never actually built: releases before #1434 ignoredplatform =pins, and the fix for the resulting 404 falls back to the stable platform with a warning (the PR that fixes the 404).What honoring these pins would take
owner/tool/name@versionthrough the registry API.https://api.registry.platformio.org/v3/packages/espressif/tool/toolchain-xtensa-esp32s3lists every version's files persystem(linux_x86_64,windows_amd64,darwin_arm64, …) withdownload_urland sha256.xtensa-esp32s3-elf-, notxtensa-esp-elf-) and the matching directory layout.Why it matters
FastLED pins 51.03.04 for its "IDF 5.1" coverage boards, and that coverage has silently built against stable the whole time. Honoring the pin would make it real.
🤖 Generated with Claude Code