-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: betaflight/betaflight
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 4.5.3
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: betaflight/betaflight
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4.5.4
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 6 commits
- 25 files changed
- 7 contributors
Commits on Dec 25, 2025
-
Configuration menu - View commit details
-
Copy full SHA for fc61abf - Browse repository at this point
Copy the full SHA fc61abfView commit details
Commits on Apr 26, 2026
-
[4.5.4] Backport src/config submodule handling (#14158, #14175, #14190)…
Configuration menu - View commit details
-
Copy full SHA for 7e60a3e - Browse repository at this point
Copy the full SHA 7e60a3eView commit details
Commits on Apr 27, 2026
-
Configuration menu - View commit details
-
Copy full SHA for a804ef4 - Browse repository at this point
Copy the full SHA a804ef4View commit details
Commits on May 5, 2026
-
usb: derive product name from BOARD_NAME when a config is built (4.5) (…
…#15186) usb: derive product name from BOARD_NAME when a config is built Previously the USB product string was hard-coded per MCU target as "Betaflight <MCU>" regardless of the board being built. When building with CONFIG=, prefer the BOARD_NAME from the config header so the device identifies as the actual board (e.g. "Betaflight - AIKONF4V2"). Plain target builds keep the MCU-based fallback ("Betaflight - STM32F411"). Format normalised to "Betaflight - <name>" across all targets.
Configuration menu - View commit details
-
Copy full SHA for 78ff8ad - Browse repository at this point
Copy the full SHA 78ff8adView commit details
Commits on May 7, 2026
-
[4.5.4] Backport CLI MSP race-condition fix (#15193) (#15200)
Fix CLI entry race condition in MSP serial processing (fixes #14169, #15071) (#15193) * AI generated code: Anthropic Claude Sonnet 4.6 Fix CLI entry race condition in MSP serial processing (fixes #14169, #15071) Root cause: PR #13940 refactored mspSerialProcess() from nested if/while to flat while + switch, inadvertently moving the pendingRequest abort logic **inside** the byte-processing loop. This caused MSP_PENDING_CLI to be cleared on every byte, preventing CLI entry when apps sent '#\r', '#\r\n', or when MSP polling arrived in the same RX burst. Legacy Android CLI and web configurator both lost CLI access. Fix: Move pendingRequest abort to an outer guard **before** the while loop— restoring semantics to pre-PR-13940 behaviour. Pending requests are now cleared once per activity burst, not once per byte. Preserved from PR #13940: - mspPortState_e / mspPacketState_e state refactor - New PORT_CLI_CMD state and STX (0x2) non-interactive passthrough mode - cliEnter(port, bool interactive) signature and dispatch logic - cliProcess() bool return type - All MSP packet processing restructuring Testing: - 44/44 unit tests pass (including test_cli_unittest) - make CONFIG=FOXEERF405 builds successfully - Tested on FOXEERF405: web configurator (master.app.betaflight.com) CLI works, legacy Betaflight CLI (Pavel Osnova) Android app CLI works Closes #14169 Related-to #15071 (protocol stability concerns) Related-to #13940 (original MSP CLI passthrough feature) * msp_serial: Move pendingRequest abort outside byte-processing loop Abort pending CLI requests once per activity burst instead of per byte. This prevents multi-byte sequences (e.g. '#\r') from cancelling the CLI pending request set by the first character. --------- Co-authored-by: nerdCopter <56646290+nerdCopter@users.noreply.github.com> Co-authored-by: ndronet <ndronet@skynet.nicholls.edu>
Configuration menu - View commit details
-
Copy full SHA for ca3287c - Browse repository at this point
Copy the full SHA ca3287cView commit details -
[backport] fix(config): unconditionally clamp failsafe_procedure to v…
…alid range (#15190) fix(config): unconditionally clamp failsafe_procedure to valid range Without USE_GPS_RESCUE, FAILSAFE_PROCEDURE_COUNT == 2 and FAILSAFE_PROCEDURE_GPS_RESCUE is absent from the enum. A stale value of 2 in EEPROM (from a GPS-rescue-capable build flashed without full chip erase) is out of range for the new build and was never caught by the #ifdef USE_GPS_RESCUE-gated check. Add an unconditional >= FAILSAFE_PROCEDURE_COUNT guard immediately after the guarded block so any out-of-range procedure is reset to FAILSAFE_PROCEDURE_DROP_IT regardless of compile-time feature flags. FAILSAFE_PROCEDURE_COUNT is always defined as the enum sentinel. Resolves #15189 Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 25356b5 - Browse repository at this point
Copy the full SHA 25356b5View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 4.5.3...4.5.4