Releases: FastLED/fbuild
Releases · FastLED/fbuild
Release list
v2.5.7
What's Changed
- fix(build): thread caller PATH per request into daemon tool resolution (#1219) by @zackees in #1236
- feat(deploy): thread caller PATH into deployers for bare-name tool spawns (#1234) by @zackees in #1241
- fix(esp32): fingerprint the esptool resolution in the BIN reuse check by @zackees in #1240
- chore(deps): cascade running-process 4.8.1 and zccache 1.13.1 (#1239) by @zackees in #1243
- release: publish fbuild 2.5.7 dependency cascade by @zackees in #1244
Full Changelog: v2.5.6...v2.5.7
v2.5.6
What's Changed
- fix(esptool): parse version from release tag when filename is generic (#1217) by @zackees in #1218
- fix(ci): green every red badge — dylint pin, macOS zed assertion, CH32V006 sysclk, nightly reusable-workflow cap by @zackees in #1221
- fix(lint): move the libraries.rs test helpers off std::fs (finishes #1221) by @zackees in #1223
- fix(esp32): add FBUILD_ESPTOOL_PATH and stop misreporting provisioning failures (#1220) by @zackees in #1224
- fix(ldf): honor lib_deps on Teensy/STM32 and warn on inert lib_ldf_mode (#1214) by @zackees in #1226
- fix(packages,daemon): reclaim dead-owner install locks; stop leaving stale endpoint records (#1213) by @zackees in #1227
- fix(ci): de-flake the two intermittent macOS test failures (#1222) by @zackees in #1225
- fix: restore green main - clippy needless borrow + unix pid-0 liveness (#1213 follow-up) by @zackees in #1229
- fix(core): treat pid 0 as dead in unix pid_is_alive - restores Check Ubuntu/macOS by @zackees in #1230
- test(cli): pin daemon crash-recovery with a real-process regression test (#1228) by @zackees in #1232
- fix(rp2350): harden Pico 2 W UF2 deploy by @zackees in #1235
- fix(ci): normalize daemon recovery test paths by @zackees in #1237
Full Changelog: v2.5.5...v2.5.6
v2.5.5
What's Changed
- ci: use soldr 0.8.23 in native builds by @zackees in #1174
- ci: align fbuild workflows on soldr 0.8.23 by @zackees in #1175
- fix(ci): expose esptool after installation by @zackees in #1177
- fix: align embedded zccache with soldr by @zackees in #1176
- fix(ci): expose esptool to daemon baseline by @zackees in #1178
- fix: preserve launcher PATH for daemon tools by @zackees in #1179
- fix: provision the requested ESP32 SDK before skeleton reuse by @zackees in #1180
- fix: accept extracted ESP32 skeleton manifest by @zackees in #1181
- fix: merge wrapped ESP32 skeleton archives by @zackees in #1182
- fix: normalize framework library cache paths by @zackees in #1183
- fix(ci): terminate timed-out Dylint driver subprocesses by @zackees in #1186
- fix(ci): restore Dylint coverage for legacy deploy paths by @zackees in #1184
- fix(ci): stabilize downloader tests and Dylint boundaries by @zackees in #1187
- fix(test): serialize LPC environment override tests by @zackees in #1188
- test: stabilize macOS downloader retry assertions by @zackees in #1189
- test: stabilize downloader retries across runtimes by @zackees in #1190
- test: stabilize macOS chunk-stall retry assertion by @zackees in #1191
- chore(dylint): upgrade stack to 6.0.1 by @zackees in #1192
- fix(dylint): normalize remaining workspace paths by @zackees in #1193
- fix(dylint): normalize remaining test paths by @zackees in #1194
- feat(rp2040): make PICOBOOT/picotool the primary deploy transport (#1162, #1163) by @zackees in #1195
- feat(ide): clangd/compile-DB foundations for fbuild ide (#1076 Phase 0) by @zackees in #1197
- feat(ide): add fbuild ide MVP on stock Zed (#1076 Phase 1) by @zackees in #1198
- feat(ide): generate .zed/debug.json for probe-rs targets (#1076 Phase 3 m1) by @zackees in #1199
- feat(ide): daemon-served Serial Plotter page + fbuild plotter (#1076 Phase 2) by @zackees in #1200
- fix(ino): skip auto-prototypes referencing sketch-defined types (#1196) by @zackees in #1201
- feat(ide): daemon-served Build Progress page + fbuild build-progress (#1076 Phase 2) by @zackees in #1202
- fix(ide): correct probe-rs chip names; map Teensy 4.x (#1076) by @zackees in #1203
- feat(ide): read-only Board + Library Manager panels (#1076 Phase 2) by @zackees in #1204
- test(ide): add headless clangd --check parity harness (#1076) by @zackees in #1205
- feat(debug): add fbuild debug verb with ESP32 native-gdbstub orchestration (#1144) by @zackees in #1206
- feat(serial): Linux sysfs USB health/topology enrichment (#1091) by @zackees in #1207
- feat(ch32v): CH32V003 bring-up Phase 1 verified + probe docs + hw-gated tests (#1208) by @zackees in #1210
- docs(ch32v): console-output decision + verified wlink probe operations (#1208) by @zackees in #1211
- feat(ch32v): flash-readback and core-executing verification for Phase 2 (#1208) by @zackees in #1212
- fix(ci): restore green main — dylint allowlist, spawn markers, macOS unused_mut, rustdoc links by @zackees in #1216
- chore(deps): repin embedded zccache to 5ee292f; release 2.5.5 by @zackees in #1215
Full Changelog: v2.5.4...v2.5.5
v2.5.4
What's Changed
- build: use soldr PEP517 backend for local installs by @zackees in #1092
- fix(ldf): root framework selection at sketch by @zackees in #1097
- fix(ldf): invalidate stale selection cache by @zackees in #1100
- feat(clean): add standalone framework cache cleanup by @zackees in #1101
- fix(ci): update CH32V path filters after crate split by @zackees in #1110
- fix(ch32v): pass board memory sizes to linker by @zackees in #1111
- fix(ch32v): map V006 to M00X system by @zackees in #1112
- fix(ch32v): honor board ISA and ABI settings by @zackees in #1113
- fix(ch32v): validate framework selection by @zackees in #1114
- fix(ch32v): report deploy limitation honestly by @zackees in #1115
- fix(ch32v): clean up board data and dead linker code by @zackees in #1116
- fix(ch32v): repair framework validation format string by @zackees in #1131
- fix(toolchain): resolve RISC-V C++ multilib from GCC by @zackees in #1132
- fix(ch32v): inject validated system clock define by @zackees in #1133
- fix(ch32v): select D8 register map for V303 by @zackees in #1134
- fix(ch32v): select D8 startup for V203RB by @zackees in #1135
- fix(monitor): stream serial output through CLI websocket by @zackees in #1136
- feat(deploy): add CH32V wlink deployer by @zackees in #1137
- feat(deploy): add CH32V USB-ISP fallback by @zackees in #1138
- fix(boards): remove bogus V00x ISP protocols by @zackees in #1139
- fix(serial): accept registry esp32 platform alias by @zackees in #1140
- chore(ch32v): remove obsolete backup header patch by @zackees in #1141
- perf(ch32v): enable V30x hard-float ABI by @zackees in #1142
- chore(ch32v): tighten toolchain and build hygiene by @zackees in #1143
- feat: publish nightly build benchmark by @zackees in #1145
- fix(serial): preserve Windows port health through probing by @zackees in #1150
- feat(windows): add scoped USB recovery helper foundation by @zackees in #1151
- fix(rp2040): consume Windows port health in deploy selection and reacquisition by @zackees in #1153
- feat(windows): orchestrate one-shot RP2040 USB recovery through deploy --admin by @zackees in #1156
- fix(windows): enumerate problem devices by USB enumerator, not setup class by @zackees in #1157
- fix(windows): make recovery decisions observable and CLI guidance visible by @zackees in #1158
- fix(windows): accept cross-mode rendezvous in the elevated recovery helper by @zackees in #1160
- fix(rp2040): cancel timed-out UF2 writes by @zackees in #1167
- fix(#1154): soldr-style daemon ownership for cold-cache reset (#1159) by @zackees in #1168
- Adopt running-process 4.6.0 daemon environment policy by @zackees in #1169
- Preserve fbuild daemon environment overrides by @zackees in #1170
- chore(release): bump 2.5.3 -> 2.5.4 — running-process 4.6.1 (daemon env USERNAME fix) by @zackees in #1171
- fix(release): select x64 xwin libraries for x64 builds by @zackees in #1172
- fix(release): use x86_64 xwin directories by @zackees in #1173
Full Changelog: v2.5.3...v2.5.4
v2.5.3
What's Changed
- fix(rp2040): avoid inferring QSPI fault from eject timeout by @zackees in #1077
- docs: use supported test wrapper in agent guide by @zackees in #1079
- harden(rp2040): hub-path deploy robustness — retries, picotool fallback, topology diagnostics, tunable budgets by @zackees in #1083
- default source installs to fast no-LTO profile by @zackees in #1086
- fix(ci): restore green main baseline (policy tests, docs links, dylint allowlist, fmt toolchain, SAMD USB defines) by @zackees in #1084
- feat(rp2040): warn on failed USB devices by @zackees in #1090
- feat(build): preserve framework caches on clean by @zackees in #1093
- fix(rp2040): wait for delayed Windows CDC handoff by @zackees in #1095
- fix(cache): revalidate staged sources before deploy by @zackees in #1096
Full Changelog: v2.5.2...v2.5.3
v2.5.2
What's Changed
- fix(packages): retry response-body download failures by @zackees in #1039
- fix(ci): restore green CI after cross-build and split regressions by @zackees in #1036
- feat(deploy): add stock RP2040 UF2 deployment by @zackees in #1041
- fix(rp2040): make stock UF2 deploy boot and discover CDC by @zackees in #1042
- fix: let RP2040 ROM eject BOOTSEL volume by @zackees in #1043
- fix: use RP2040 UF2 flash offset by @zackees in #1044
- usb: ingest VID/PID data from FastLED boards by @zackees in #1045
- fix(rp2040): encode complete firmware at XIP address by @zackees in #1046
- fix(rp2040): convert ELF load segments to UF2 by @zackees in #1048
- fix(rp2040): match upstream UF2 deploy semantics by @zackees in #1050
- style(rp2040): apply rustfmt after deploy milestone by @zackees in #1051
- ci(usb): audit and guard VID/PID catalogue growth by @zackees in #1052
- feat: ingest typed USB transport profiles by @zackees in #1053
- fix: close RP-series deploy source gaps by @zackees in #1054
- fix: accept canonical UF2 magic for RP-series deploy by @zackees in #1055
- fix: add stock-ROM picotool fallback for RP-series deploy by @zackees in #1056
- refactor: derive serial identity behavior from FastLED/boards by @zackees in #1057
- refactor: remove embedded USB catalogues from runtime by @zackees in #1058
- refactor(serial): derive bootloader signatures from FastLED/boards by @zackees in #1059
- refactor(deploy): consume FastLED/boards USB profiles by @zackees in #1060
- refactor(usb): source compile identities from boards registry by @zackees in #1061
- Remove legacy USB identity publisher by @zackees in #1062
- Test RP2040 deploy failure paths by @zackees in #1063
- Test RP2040 UF2 conversion failures by @zackees in #1064
- chore: bump version to 2.5.2 by @zackees in #1065
- fix(rp2040): explain Windows synthetic volume errors by @zackees in #1066
- fix(rp2040): use Arduino-compatible UF2 write semantics by @zackees in #1067
- fix(cli): surface physical deploy diagnostics by @zackees in #1068
- fix(rp2040): match UCRT UF2 handle sharing by @zackees in #1069
- fix(rp2040): close PlatformIO audit error gaps by @zackees in #1070
- feat(rp2040): support RAM-only UF2 loads by @zackees in #1072
- fix(rp2040): accept reset disconnect after BOOTSEL by @zackees in #1073
Full Changelog: v2.5.1...v2.5.2
v2.5.1
v2.5.0
What's Changed
- chore(deps): bump embedded zccache 1.12.11 -> 1.12.14 by @zackees in #981
- fix(daemon): timeout WebSocket serial opens by @zackees in #983
- fix(daemon): shorten WebSocket serial open timeout by @zackees in #984
- fix(build): ESP32 sketch+core compiles hit zccache cross-project (#966) by @zackees in #985
- feat(usb): embed the FastLED/boards VID:PID overlay (offline, data-driven) by @zackees in #982
- fix(build): route framework-lib compiles through embedded zccache — fw-libs cross-project hit (#986) by @zackees in #987
- feat(deploy): provision esptool as a managed standalone binary (#954) by @zackees in #988
- ci(dylint): wire dylint-link for all lint crates so libs get @toolchain names (#964) by @zackees in #989
- fix(dylint): clean up violations after dylint-link rollout by @zackees in #991
- ci: pin latest soldr for Windows check by @zackees in #993
- fix: require Dylint and repair core cache hydration by @zackees in #996
- fix: finish cache-path and soldr follow-ups by @zackees in #999
- Install FastLED probe-rs for LPC SWD deploy by @zackees in #1001
- ci: let setup-soldr float soldr binary by @zackees in #1003
- Fix probe-rs audit follow-ups by @zackees in #1005
- Warn on daemon identity mismatches by @zackees in #1006
- fix(serial): list Windows Status=Unknown ports so Teensy (16C0) is visible (#962) by @zackees in #1011
- feat(config): embed MCU→VID heuristic so null-vid boards resolve offline (#959) by @zackees in #1012
- feat(usb): embed refreshed per-board VID:PID archive, drop hardcoded table (#722) by @zackees in #1013
- feat(cli): first-class
fbuild cache save/restore/list/verify(#527) by @zackees in #1014 - chore(crates): mark all workspace members publish=false (#1008) by @zackees in #1015
- refactor(build): split fbuild-build into engine + facade (#1008 Phase A0+A1) by @zackees in #1016
- refactor(build): extract esp/arm/mcu platform crates for parallel compiles (#1008 A2) by @zackees in #1017
- refactor(packages): split fbuild-packages into fetch + library + toolchain (#1008 Phase B) by @zackees in #1018
- fix(daemon): version+identity-keyed endpoint + version arbitration (#1009) by @zackees in #1020
- fix(daemon): bind-before-heavy-init single-flight for concurrent spawns (#1010) by @zackees in #1021
- feat(build): EnvNamespace + unified build_flags overlay propagation (#574) by @zackees in #1022
- chore(release): 2.5.0 by @zackees in #1023
Full Changelog: v2.4.0...v2.5.0
v2.4.0
What's Changed
- fix(deploy): probe-rs spawns via run_command_blocking — no console flash, 120s timeout by @zackees in #938
- fix(release): restore macOS + arm64-windows lanes on soldr 0.7.98 + setup-soldr v0.9.64 by @zackees in #941
- fix(ci): bump setup-soldr v0.9.64 -> v0.9.65 (installs bundled soldr-clang-shim) by @zackees in #943
- feat(packages): bump ArduinoCore-LPC8xx to 9e8be028 (named weak IRQ handlers) by @zackees in #944
- fix(build): seal lite-scons harness JSON channel against user-script stdout by @zackees in #946
- fix(config): derive Default for BoardConfig (unbreaks workspace check) by @zackees in #948
- fix(config): consume INI shell-quoting layer in parse_flags by @zackees in #949
- feat(ci): Docker Linux profiling harness for NightDriverStrip builds by @zackees in #950
- fix(build): stop no-change rebuilds from recompiling every TU by @zackees in #956
- fix(build): resolve board_build.partitions CSV project-relative first by @zackees in #958
- docs(agents): path prefix-root conventions + cross-project cache-key pitfalls by @zackees in #961
- feat(dylint): ban raw Path::{starts_with, strip_prefix} so the #952 cache-key mistake can't recur by @zackees in #963
- perf(build): compile ESP32 framework libs workspace-relative (cross-project cache stability, #952) by @zackees in #965
- perf(esp32): download GCC toolchain concurrently with framework + SDK libs (#953) by @zackees in #967
- fix(teensy): run flash in build dir + sweep stray dash-flag files (no more
-rin repo root) by @zackees in #968 - fix(esp32): surface both errors if toolchain AND framework resolve fail (#967 follow-up) by @zackees in #969
- fix(build): don't treat depfile's own mtime as stale → no more first-rebuild recompile (#957) by @zackees in #971
- style(teensy): rustfmt flash.rs — unblock the Formatting CI gate by @zackees in #972
- fix(build): centralize build_unflags stripping in build_rebuild_signature (#970) by @zackees in #975
- fix(daemon): recover stale serial locks by @zackees in #978
- ci(release): align soldr quiet timeout for native builds by @zackees in #979
- ci(release): cross-build x64 Windows artifacts on Linux by @zackees in #980
Full Changelog: v2.3.24...v2.4.0