2026.6.0-rc2Pre-release
Added 2
- Add support for FMSH FM25Q series (64Mb, 128Mb, 256Mb) SPI Flash
- Add autopilot flight plan safety features including rx-loss policy, sanity checks, geofence, and arming gate
Changed 1
- Enable UART2-8 on STM32H5 H562/H563 and fix UART open hard fault
Fixed 18
- Use correct system bootloader address for software DFU entry on H5
- Enable serial +++ escape to exit passthrough on DTR-less links
- Improve position hold functionality
- Display battery usage estimation in OSD when battery capacity is set to 0
- Bound MSP stream reads against payload length to prevent out-of-bounds reads
- Fix start frame detection for fast refresh (1 mS between frames)
- Guard spurious pullup edge in dshot telemetry packet decoding
- Fix SPI and SDMMC on x32m7b
- Apply all active VTX activation conditions
- Fix CRSF frame length validation
- Set d_max_advance default to 0 to match configurator guidance
- Suppress BEEPER_USB when battery present and configurator active
- Improve GPS Rescue functionality
- Fix request parser buffer overflow in rcdevice.c
- Avoid blocking MSP during NOR chip erase in flashfs
- Rate-limit crsfTelemetryUpdateCheck to prevent scheduler starvation
- Detect SBUS frame boundary via interbyte timeout
- Fix inverted timeout condition in W25Q128FV write-enable poll
What's Changed
Improvements
- fix(sitl): harden Gazebo gyro yaw sign against silent regression (follow-up to #15354) by @haslinghuis in https://github.com/betaflight/betaflight/pull/15355
- add support for FMSH FM25Q series (64Mb, 128Mb, 256Mb) SPI Flash by @ReganLai-Fudan in https://github.com/betaflight/betaflight/pull/15292
- Autopilot: flight plan safety — rx-loss policy, sanity checks, geofence, arming gate by @blckmn in https://github.com/betaflight/betaflight/pull/15408
Fixes
- fix(h5): use correct system bootloader address for software DFU entry by @haslinghuis in https://github.com/betaflight/betaflight/pull/15369
- serial: +++ escape to exit passthrough on DTR-less links by @dmboyd in https://github.com/betaflight/betaflight/pull/15357
- Position hold small improvements by @ctzsnooze in https://github.com/betaflight/betaflight/pull/15366
- Display battery usage estimation in OSD when battery capacity is set to 0 by @michaeldebacker in https://github.com/betaflight/betaflight/pull/15038
- msp: bound stream reads against payload length to prevent OOB reads by @blckmn in https://github.com/betaflight/betaflight/pull/15379
- Fix start frame detection for fast refresh (1 mS between frames) by @Grinzzz in https://github.com/betaflight/betaflight/pull/14322
- fix(dshot): guard spurious pullup edge in decodeTelemetryPacket by @nerdCopter in https://github.com/betaflight/betaflight/pull/15343
- fix(x32m7b): fix spi and sdmmc by @Romin0615 in https://github.com/betaflight/betaflight/pull/15371
- fix(vtx): apply all active VTX activation conditions (#15362) by @haslinghuis in https://github.com/betaflight/betaflight/pull/15363
- docs: accgyro_spi_icm20689.c 8Mhz comment correction by @nerdCopter in https://github.com/betaflight/betaflight/pull/15365
- fix(filter): correct fq comment in svfNotchFilter_t by @nerdCopter in https://github.com/betaflight/betaflight/pull/15300
- fix(barometer): replace VLA with fixed array in dps310 coefficient read by @nerdCopter in https://github.com/betaflight/betaflight/pull/15266
- Fix CRSF frame length validation by @Symmetricity in https://github.com/betaflight/betaflight/pull/15254
- Set d_max_advance default to 0 to match configurator guidance by @ChrisRosser in https://github.com/betaflight/betaflight/pull/15221
- FIX: BEEPER_USB suppression when battery present and configurator active by @haslinghuis in https://github.com/betaflight/betaflight/pull/14976
- GPS Rescue2026_6a by @ctzsnooze in https://github.com/betaflight/betaflight/pull/15382
- fix: the request parser writes data into a fixed-siz... in rcdevice.c by @orbisai0security in https://github.com/betaflight/betaflight/pull/15389
- fix(flashfs): avoid blocking MSP during NOR chip erase by @kedeng in https://github.com/betaflight/betaflight/pull/15273
- fix(crsf): rate-limit crsfTelemetryUpdateCheck to prevent scheduler starvation by @nerdCopter in https://github.com/betaflight/betaflight/pull/15358
- rx: detect sbus frame boundary via interbyte timeout by @blckmn in https://github.com/betaflight/betaflight/pull/15388
- Fix inverted timeout condition in W25Q128FV write-enable poll by @nerdCopter in https://github.com/betaflight/betaflight/pull/15396
- bus_quadspi_hal: capture HAL status in quadSpiSequence() by @nerdCopter in https://github.com/betaflight/betaflight/pull/15397
- flash_w25n: remove dead/buggy BBLUT read/write code by @nerdCopter in https://github.com/betaflight/betaflight/pull/15398
- fix: prevent spurious blackbox erase before RX link by @nerdCopter in https://github.com/betaflight/betaflight/pull/15404
- STM32C5: correct timer AF tables and complete timer coverage by @blckmn in https://github.com/betaflight/betaflight/pull/15405
Targets
- STM32H5: enable UART2-8 on H562/H563 and fix UART open hard fault by @haslinghuis in https://github.com/betaflight/betaflight/pull/15367
- feat(h5): enable LED_STRIP and remaining peripherals, drop VIRTUAL_GYRO by @haslinghuis in https://github.com/betaflight/betaflight/pull/15368
New Contributors
- @dmboyd made their first contribution in https://github.com/betaflight/betaflight/pull/15357
- @ReganLai-Fudan made their first contribution in https://github.com/betaflight/betaflight/pull/15292
- @Grinzzz made their first contribution in https://github.com/betaflight/betaflight/pull/14322
- @orbisai0security made their first contribution in https://github.com/betaflight/betaflight/pull/15389
- @somethingjustlike made their first contribution in https://github.com/betaflight/betaflight/pull/15310
- @marcusamery made their first contribution in https://github.com/betaflight/betaflight/pull/15395
Full Changelog: https://github.com/betaflight/betaflight/compare/2026.6.0-rc1...2026.6.0-rc2