fOS v2.2.0 Release Notes
Release date: 2026-05-24
Highlights
fOS 2.2.0 introduces a full SD-staged OTA and dedicated recovery architecture:
- main system in
app0 - minimal recovery system in
app1 - update staging in
/system/update/ - automatic boot fallback logic for failed update boots
Added
- Full OTA + recovery pipeline for CrowPanel ESP32-S3:
- OTA list fetch from GitHub
- selected OTA image download to
/system/update/update.bin - recovery image download to
/system/update/recovery.bin - flash recovery into
app1 - set boot partition to
app1and reboot
- Recovery runtime:
- validates staged update image
- flashes staged update to
app0 - switches boot partition back to
app0 - restarts device
- Boot protection and self-healing state:
pending_updateboot_attempt_counter- automatic fallback to recovery after repeated failed boots
- Display settings persistence:
- brightness saved via display settings page
- minimum brightness clamped to
5% - value stored in
/system/display/brightness.txt - value restored at boot
- System update folder management:
- auto-create
/system/updateduring SD initialization
- auto-create
Changed
- OTA file lookup is now asynchronous:
- moved from blocking UI path into a background FreeRTOS task
- update screen remains responsive while OTA file list is loading
- OTA/Recovery staging paths moved from root SD to:
/system/update/update.bin/system/update/recovery.bin
- Update install flow now keeps stronger error traces in serial logs (
[OTA] ERROR: ...) for every failing step.
Fixed
- Fixed UI freeze during OTA file search after Wi-Fi connection.
- Improved OTA listing/download robustness with retries, longer timeouts, and recovery RAW fallback names when GitHub API listing fails.
Compatibility Notes
- Existing SD app format remains supported:
type=ui|text|button|calculator|radio|clock|weather
- This release uses the dedicated
app0/app1partition model (seepartitions.csv). - SD card format recommendation remains FAT32 (MBR preferred).
Known Limitations
- Recovery uses a minimal display output path and can still show visible RGB artifacts on some panels while flash operations are running.
- Internet-dependent features (OTA listing/download, weather, web radio) still depend on network quality and remote endpoint availability.