FPP 10.0-beta3
Pre-releaseFPP 10.0 (Beta 3) - Release Highlights
NOTE: This is a BETA release, continuing on from FPP 10.0-beta2. Coming from FPP 9.5? See the FPP 10.0-beta release notes for the full list of changes first. This post covers only what's changed since 10.0-beta2.
Thanks again to everyone testing and filing issues - keep it coming.
New in Beta 3 - At a Glance
- Security fixes - command injection in the web UI and crash reports, buffer overflows in MultiSync and DDP handling, and a config backup password leak, all patched
- Crash fixes - fppd no longer crashes on an empty command or a malformed sequence file
- Plugins can now load and unload at runtime - no more fppd restart to install/remove a plugin (Plugin API 6)
- Video output regions - a single video can now span two displays
- HDMI audio fixed - Pi Zero 2 W and Pi 3 (single-HDMI boards) get sound again over HDMI
- BBBSerial (DMX) fixed on 64-bit - serial/DMX output no longer hangs indefinitely on 64-bit builds
- BBShiftPanel image drift fixed - self-PWM panels (e.g. FM6363C) no longer show a vertically sliding/corrupted image
- Command source logging - see what triggered an FPP Command (UI, MQTT, schedule, plugin, etc.)
- Networking, backup/restore, and other hardware stability fixes
See below for details.
New in Beta 3 - Full Details
(everything below is new since 10.0-beta2 - not a restatement of the original beta or beta2)
Security
- Fixed command injection vulnerabilities in the web UI (PHP)
- Fixed a crash-report handling bug that could be used to run unintended commands
- Fixed buffer overflows in MultiSync ping packet handling and the
SetSettingcommand - Fixed a heap buffer overflow and out-of-bounds read in DDP input channel bridging
- Fixed protected JSON config backups leaking the encryption password in plaintext
- Fixed certain characters in a setting value being able to break/inject into the settings page's JavaScript
Stability & Crash Fixes
- Fixed fppd crashing on an empty command
- Fixed fppd crashing on a malformed sequence (FSEQ) file
- Fixed password loss in protected JSON config backup/restore
Plugins
- Plugins can now be loaded and unloaded at runtime - installing, updating, or removing a plugin no longer requires restarting fppd
- Plugins can now register their own HTTP routes and shut down cleanly (new Plugin API version 6)
- Plugin HTTP routes are now documented on the API help page, and the API docs correctly cover plugin routes
- Fixed a bug where a broken plugin's API code could crash or take over FPP's core API instead of just itself
- Plugin health checks are more reliable, and plugin icon/info loading is more robust against bad data from a plugin source
- Plugin update checks now run in the background so the "Updates" count is accurate
- Official/community/unknown plugin history is now tracked and surfaced in the health check
- Incompatible Plugins section now shows URL-load errors and supports search filtering
- Fixed plugin commands sticking around after a plugin is unloaded, plugin images disappearing, and plugins not being fully unloaded from memory when removed
- Fixed packages, plugins, and services not being correctly restored after a config restore following an OS upgrade
Hardware & Outputs
- Video outputs can now be assigned a region, so a single video can span two displays
- Refreshed BeagleBoard and Pi Zero logos, including new PocketBeagle 2 Industrial artwork
- Fixed HDMI (vc4-hdmi) audio output not working at all on single-HDMI boards (Pi Zero 2 W / Pi 3)
- Fixed BBBSerial (DMX) output hanging indefinitely on 64-bit builds
- Fixed self-PWM BBShiftPanel-driven panels (e.g. FM6363C) showing a vertically drifting/corrupted image
Networking
- Fixed Restart Network hanging indefinitely if the wifi hotspot service didn't stop cleanly
- FPP now keeps DHCP leases through reboots (a Debian networking change in FPP 10), with sane lease times and a "clear leases" option added in FPP Reset Config
- Fixed misleading wifi error messages when configuring wifi while tethered
- Fixed Raspberry Pi EEPROM upgrades failing during an FPPOS upgrade
Commands & Logging
- FPP Commands can now log their source (UI, MQTT, schedule, plugin, etc.) for troubleshooting
- ControlChannelOutput now passes the channel's value as a parameter the command can act on
- More fppd startup/shutdown activity is now logged, and a misleading log entry on stop/restart is fixed
Backups
- Fixed the Backups checkbox not appearing when it should
Upgrading to FPP 10 Beta 3
(carried over from the 10.0-beta announcement for convenience - unchanged in beta3)
- Brand new arm64 images recommended for all 64-bit capable Pi's (Pi 3, Pi 4, Pi 5, Pi Zero 2W, Compute Module 4/5) and PocketBeagle2
- The original 32-bit images remain available for older/32-bit-only boards (Pi B, B+, Zero, Zero W) & other Beagles
- Moving from 32-bit to 64-bit requires re-imaging - an in-place OS upgrade cannot switch architectures. Back up your config, flash the new image, restore config.
Option A - Fresh install (required if moving 32-bit → 64-bit)
- Back up your FPP config
- Flash the FPP10 image
- Restore your config
Option B - In-place upgrade (only if staying on the same architecture)
- Make sure you're fully updated on FPP 9.x (or 8.x) first, or already on 10.0-beta/beta2
- About → Upgrade OS → pick the 10.0 image for your board
- Let it download, install, and reboot
- Delete the
fpposfile from File Manager → Uploads - If it fails to boot, power-cycle it (some devices need this due to library changes)
Which image do I need?
| Board | Image |
|---|---|
| 64-bit capable Pi (3/4/5, Zero 2W, CM4/CM5) | FPP-v10.0-beta3-Pi64.img.zip |
| Older/32-bit-only Pi | FPP-v10.0-beta3-Pi.img.zip |
| BeagleBone Black/Green/PocketBeagle/Green Gateway | FPP-v10.0-beta3-BBB.img.zip |
| PocketBeagle2 / PocketBeagle2 Industrial | FPP-v10.0-beta3-BB64.img.zip |
Backwards Compatibility Notes
- Only in-kernel WiFi drivers are included - some older USB WiFi adapters may no longer work post-upgrade
- VLC and SDL media backends removed - replaced by GStreamer/PipeWire
rpi_ws281xdriver dropped - Pi string outputs now use DPIPixels- "Remote XXXX" FPP commands removed (deprecated since 9.0) - use normal FPP commands with MultiSync checkbox and target set
- "FPD" dongle / PixelNet output removed (deprecated since 9.0)
- Debian 12 → 13 library upgrades mean most plugins will need updating/reinstalling
Back up your config before upgrading, and please continue reporting issues.
fpp@FPPmaster:/opt$ fg
claude
Upgrading to FPP 10 Beta 3
(carried over from the 10.0-beta announcement for convenience - unchanged in beta3)
- Brand new arm64 images recommended for all 64-bit capable Pi's (Pi 3, Pi 4, Pi 5, Pi Zero 2W, Compute Module 4/5) and PocketBeagle2
- The original 32-bit images remain available for older/32-bit-only boards (Pi B, B+, Zero, Zero W) & other Beagles
- Moving from 32-bit to 64-bit requires re-imaging - an in-place OS upgrade cannot switch architectures. Back up your config, flash the new image, restore config.
Option A - Fresh install (required if moving 32-bit → 64-bit)
- Back up your FPP config
- Flash the FPP10 image
- Restore your config
Option B - In-place upgrade (only if staying on the same architecture)
- Make sure you're fully updated on FPP 9.x (or 8.x) first, or already on 10.0-beta/beta2
- About → Upgrade OS → pick the 10.0 image for your board
- Let it download, install, and reboot
- Delete the
fpposfile from File Manager → Uploads - If it fails to boot, power-cycle it (some devices need this due to library changes)
Which image do I need?
| Board | Image |
|---|---|
| 64-bit capable Pi (3/4/5, Zero 2W, CM4/CM5) | FPP-v10.0-beta3-Pi64.img.zip |
| Older/32-bit-only Pi | FPP-v10.0-beta3-Pi.img.zip |
| BeagleBone Black/Green/PocketBeagle/Green Gateway | FPP-v10.0-beta3-BBB.img.zip |
| PocketBeagle2 / PocketBeagle2 Industrial | FPP-v10.0-beta3-BB64.img.zip |
Backwards Compatibility Notes
- Only in-kernel WiFi drivers are included - some older USB WiFi adapters may no longer work post-upgrade
- VLC and SDL media backends removed - replaced by GStreamer/PipeWire
rpi_ws281xdriver dropped - Pi string outputs now use DPIPixels- "Remote XXXX" FPP commands removed (deprecated since 9.0) - use normal FPP commands with MultiSync checkbox and target set
- "FPD" dongle / PixelNet output removed (deprecated since 9.0)
- Debian 12 → 13 library upgrades mean most plugins will need updating/reinstalling
Back up your config before upgrading, and please continue reporting issues.