Skip to content

FPP 10.0-beta3

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Aug 02:22
· 151 commits to master since this release

FPP 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 SetSetting command
  • 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)

  1. Back up your FPP config
  2. Flash the FPP10 image
  3. Restore your config

Option B - In-place upgrade (only if staying on the same architecture)

  1. Make sure you're fully updated on FPP 9.x (or 8.x) first, or already on 10.0-beta/beta2
  2. About → Upgrade OS → pick the 10.0 image for your board
  3. Let it download, install, and reboot
  4. Delete the fppos file from File Manager → Uploads
  5. 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_ws281x driver 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)

  1. Back up your FPP config
  2. Flash the FPP10 image
  3. Restore your config

Option B - In-place upgrade (only if staying on the same architecture)

  1. Make sure you're fully updated on FPP 9.x (or 8.x) first, or already on 10.0-beta/beta2
  2. About → Upgrade OS → pick the 10.0 image for your board
  3. Let it download, install, and reboot
  4. Delete the fppos file from File Manager → Uploads
  5. 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_ws281x driver 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.