New Twinkly Channel Output - Control Twinkly lights over WiFi
New DPIPixels Channel Output - up to 24 strings of WS281x pixels on a Raspberry Pi. The new output allows the Pi's onboard audio to remain enabled while driving pixels.
Converted the Virtual Display to output to a Pixel Overlay Model. See Breaking Changes section at the bottom.
Scheduler
Added ability to adjust start/end times of future scheduled playlists when extending a running playlist's end time.
Added button to status UI to start next scheduled playlist now.
Pixel Overlay Models
Add support for FrameBuffer models which write to the Linux framebuffers on the HDMI or composite outputs.
Add support for Sub-Models allowing one model to overlay onto a region of another model.
Media
Upgraded VLC version used for video playback.
Player and Playlists
Update PlaylistEntryImage to write to a Pixel Overlay Model. See Breaking Changes section at the bottom.
User Interface
Allow Player controls to float at top of status screen while scrolling long playlists.
Add an 'Auto Layout' button the LED Panels config UI.
Allow viewing GPIO pin numbers in pixel string config UI by mousing over the port number on an output line.
Show DHCP leases on proxies page and create links for clients.
Auto hide/show the Restart/Reboot warning boxes in all open tabs when the flags are set or cleared in another tab.
Add logic to show warning on the pixel string config UI when channels overlap.
Update to show the Initial Setup page no matter what page the user initially browses to on a new system. Previously the Initial Setup only showed when going to the main status page.
Channel Tester
Move Channel Test interface to a FPP Command allowing test mode commands to be sent to the whole environment via FPP MultiSync.
Start adding a Channel Output test mode to allow individual channel outputs to be tested.
API
Added new command to save contents of a Pixel Overlay Model to a file in the Images directory.
FPP Commands
Multisync
Multisync page now labels which players are sending multisync packets
OS
Upgrade to Raspberry Pi Bullseye OS image
Added support for running FPP on MacOS when installed via FPP_Install_Mac.sh.
Add support for Armbian based devices. No SD images for each separate system, but FPP_Install.sh should work on Armbian.
Change OS level naming to YYYY-MM to avoid confusion with FPP version vX.Y.
Add support for zram swap to help low memory systems during compiles.
Switch to nftables instead of iptables
Add support for config files in /boot/fpp to be copied to /home/fpp/media/ upon first boot.
Lots of changes around networking related to the OS upgrade. Includes adding DHCP server to FPP, NAT (Network Address Translation aka Masquerading), route metrics and general cleanup of FPP's network config UI.
Added docker builds for ARM v7.
More configuration info in docker compose config file.
Add support for uploading crash reports to help developer troubleshooting.
Allow user to set the OS password for the 'fpp' user and upload SSH keys which will be used for the root and fpp user accounts.
Other Changes
Add Virtual EEPROMs for all pixel string capes previously supported by JSON string config files. This allows vendor logo and URL information to be shown in the FPP UI.
Allow choosing a Virtual EEPROM from both the Initial Setup page and the Pixel String config UI.
Convert libfpp.so to LGPL. This allows external programs to link against libfpp.so without requiring those programs themselves to be GPL.
Converted channel output libraries to plugins. This is the basis for supporting Channel Output plugins.
Replace SunRise class with class allowing different code to be included in LGPL libfpp.so.
Move Cape Info from About page to its own Cape Info page
Include exim4 in OS images
Add new setting to allow disabling hardware video decoding on the Pi.
Add 'Back to Top' button in troubleshooting page
Show a warning in UI if a UDP output is set to point to self.
Show grid size for custom models in Pixel Overlay UI.
Updated UI dependency libraries
Skip setting ChannelData log level when using bulk set buttons.
Add rename button to Images tab in File Manager UI.
Clean up and unify API calls to collect system status info.
Bump max ColorLight/Linsn outputs up to 16.
Disable announcement of IPv6 addresses at startup.
Updated version of fabricjs used for canvas drawing
Make temperature labels smaller to better fit UI.
Improve MultiSync UI status performance by fetching host description with advanced info from hosts rather than a separate HTTP call.
Display elapsed time taken for a FPP upgrade.
Add EEPROM generation script for cape vendors and users making their own capes.
Allow backing up and restoring virtual EEPROMs in both JSON and File Copy backup methods.
Added a crash handler to fppd to allow submitting crash reports to help debugging issues.
Display the LED Panels config UI when UI level is set to Advanced mode to allow ColorLight/Linsn network-based LED panel receivers to be used when a string cape is installed.
Plugins are now sorted by name within sections in the FPP Plugin Manager.
Bug Fixes
Fix clone string count issue on pixel strings config UI. Code now properly counts only string output lines, not header/divider lines.
Fix compile issue on low-memory FPP systems (Pi Zero, Pi A+, other systems with 512MB total RAM)
Fix issue with WiFi strength reporting a negative number when cards report dB instead of %.
Fix segfault issue in SendBlankingData()
Fix issue cleaning up av* codec contexts in SDL output.
Fix bug in Scheduler preview UI.
Fix file handle leak causing system to run out of resources and require a fppd restart.
Fix issue with MQTT reporting incorrect playlist name in some situations.
Fix scheduler bug related to restarting lower priority playlist when two playlists overlap.
Fix issue with WiFi icon display location
Fix an issue with UDP controller ping monitoring on 64-bit architectures (includes docker image).
Fix issue with UDP controller ping monitoring not re-enabling using HTTP HEAD when ping is not working.
Fix start/end channel selection issue using model dropdown on Channel Testing page.
Fix initialization of differential receiver type when switching cape types.
Fix bug in model dropdown on channel testing page.
Fix issue with some default setting values not being applied properly for settings not in settings.json.
Added apostrophe to New Year's Eve holiday name.
Fix empty address record issue in fpp-info.json when network is not up.
Fix child option visibility issue in playlist entry editor.
Fix reboot button on FPP Upgrade popup UI.
Fix issue with negative Last Received number showing in Remote stats UI.
Fix issues with logs zip and missing log files.
Fix randomize bug in PlaylistEntryImage when more than one instance is used in a playlist.
Fix wifi signal strength on some devices (#1200)
Fix issue loading plugin settings file when file doesn't exist
Fix crash on shutdown with ArtNetAdv plugin
Fixed KiNet output sequence number
Fix UI issues on About page
Fix some compile warnings to make compile output cleaner.
Don't display the Setting Saved message for internal settings triggered by something other than a user interaction.
Fix issues in File Copy backup/restore. Convert \ to /, allow empty path field to indicate root directory, show output log in a popup window instead of opening a new page in the browser, and query list of existing directories on a USB stick to populate the list of possible destinations for the backup. Remove -q rsync option to display progress as files are copied.
Fix bug which hid the LED panels output page when a string cape was installed even through the system could still output to network-based LED panel channel outputs such as for the ColorLight receivers.
Removed OLED check for cape detection. Don't assume a cape exists just because we found an OLED.
Don't show the Expand Storage warning on the Initial Setup page.
Fixed mounting exfat USB sticks when restoring or backing up FPP configuration. This was affecting thumb drives >= 64GB.
Fix an issue during fppos upgrade where the old version of the 2nd half of the upgrade script was run instead of the new version in the fppos image.
Fixed filter bug in MultiSync UI when warnings were present causing warning rows to be orphaned during filtering.
Breaking Changes
Some multi-string pixel capes will need a license key applied to continue to use the multi-string pixel channel output code on the BeagleBone and Raspberry Pi. License key vouchers are available for all existing BBB and Pi capes with more than 2 WS2821X pixel string outputs. Visit https://shop.falconplayer.com/faqs/ and https://shop.falconplayer.com/key-announcement/ for more info.
Convert PlaylistEntryImage from outputting directly to the Linux framebuffer to instead output to a PixelOverlayModel. Existing playlists which contain Image playlist entries will have to be updated to use a newly created PixelOverlayModel.
The Virtual Display has been changed from writing to a framebuffer device to writing to a PixelOverlayModel. Any existing Virtual Display channel output must be recreated. This does not affect the HTTPVirtualDisplay, only the framebuffer Virtual Display is affected. The X11VirtualDisplay has been removed.
The Virtual Matrix has been converted to display to a Pixel Overlay Model. Any existing Virtual Matrices will need to be recreated after creating a Pixel Overlay Model for the desired video output device.
Removed old PlaylistEntryVolume and PlaylistEntryMQTT playlist entry types. These were deprecated a long time ago and should have been moved to using FPP Commands, but if some ancient playlists still exist that use these, they may break.
FPP v6.0 ChangeLog
Notes should be current as of 6/7/2022.
Enhancements
Other Changes
Bug Fixes
Breaking Changes