Hi everyone ![]()
System stability has always been our team’s top priority. When you report an issue, we know you care about more than the eventual fix. You also want to know whether it’s being followed up on, how it’s progressing, and which version is expected to include the fix.
We therefore plan to share a progress update every two weeks on Discord and the forum, covering the issues our development and testing teams are working on and their current validation status. This will give you visibility into what we’re working to resolve before each official release.
In this update, we’re sharing fixes and improvements currently planned for v1.8.1, covering app management, disk hibernation, storage and RAID, file access and backup, and Photos.
Please note: ZimaOS v1.8.1 has not been officially released. The items below include both fixes that have passed validation and those still undergoing testing. Planned fixes and target versions may change based on test results; the final scope will be confirmed in the official release.
ZimaOS v1.8.1 Update — November 12
Disk Hibernation
Status: Verified
- HDD activity LED flashing every 10 seconds
- Cause: HDD temperatures were read every 10 seconds. Each reading sent a temperature query command to the drive through the kernel driver, causing the activity LED to flash at regular intervals. Testing confirmed that temperature polling did not wake drives that were already in hibernation. The flashing LED did not indicate that the platters had started spinning again.
- Fix: When disk hibernation is enabled, temperature polling for HDDs is scheduled based on actual read/write activity and power state. Once hibernation is confirmed, the drive’s state is cached, and temperature polling and power-state queries stop, eliminating the regular LED flashes. Temperature polling resumes when new read/write activity is detected, and cached temperature readings are retained.
- External USB drives failing to enter hibernation
- Cause: Periodic temperature polling repeatedly reset the USB enclosure’s idle timer, preventing it from reaching the idle duration required for automatic hibernation. As a result, the enclosure’s built-in hibernation mechanism could not activate, and the drive could not enter hibernation automatically.
- Fix: Automatic temperature polling, power-state queries, and SMART probing are now disabled by default for external USB drives; only information cached by the system is read. The fix also prevents initialization commands from being sent to the enclosure when temperature drivers are loaded automatically. This prevents repeated resets of the idle timer, allowing the enclosure’s built-in automatic hibernation mechanism to work again.
Storage Improvements
Status: Under Validation
- Configurable RAID synchronization speed
- Read
RaidSpeedLimitMinandRaidSpeedLimitMaxfromlocal-storage.conf, retaining the existing defaults of 500000 and 2000000 KiB/s, respectively. Allow users to override these values and add parameter validation. See issue #638.
- Read
- Improved disk hibernation behavior
- Reduce unnecessary drive access during background monitoring and disk list refreshes to reduce unintended wake-ups of hibernating drives. Also avoid repeatedly performing the same operations when drives respond slowly.
- Specific improvements include:
- Address the issue where opening Settings → Storage wakes hibernating RAID member drives and unmounted drives.
- Address slow API responses in Settings → Storage when drives are in hibernation.
- Filter out events from ordinary systemd services and device aliases, processing only relevant block device changes. Add sysfs and kernel event monitoring to cover cases where device units are retained because they are still referenced. Coalesce closely spaced scan requests and retain changes that occur during a scan for subsequent processing, reducing redundant scans and missed changes.
- More reliable drive connection and disconnection detection
- Detect drive insertion, removal, and reconnection more accurately, reducing missed or duplicate detections and redundant scans triggered by unrelated system activity.
- Improved RAID drive replacement and recovery with hot swapping
- Correctly identify the array a drive belongs to when drives are moved between bays, some array members are missing, or original drives are hot-unplugged and reconnected. Prevent missing or duplicate array records and prevent replaced drives from being incorrectly re-added to the array.
- More accurate RAID status reporting
- Correctly distinguish between missing-drive, failed, recovery-complete, and stopped states. Prevent recovered arrays from still appearing abnormal, and prevent arrays that have not yet recovered from appearing healthy prematurely. After recovery completes, eligible arrays automatically return to read/write mode.
- Improved formatting and mounting workflows for single-drive and USB storage
- Fix issues including stale storage records remaining after formatting, delayed partition information updates, and USB storage failing to mount automatically after connection. Improve storage detection and data retention when storage is re-enabled after being detached, and after system restarts.
App Management: Fixes for Uninstallation, Rebuilding, and Runtime Issues
Status: Verified
- Panic in the app management service
Fixed a panic issue in the app management service to improve service stability. - Unable to uninstall apps with corrupted YAML configuration files
A corrupted YAML configuration file could prevent an app from being uninstalled successfully. This fix addresses that scenario so affected apps can be uninstalled properly. - Docker custom network issues when rebuilding apps
Fixed network-related issues that occurred when rebuilding apps using Docker custom networks. - Incorrect default language when adding an app source
Fixed an issue with the default language when adding an app source, ensuring the relevant content is displayed in the expected language.
File Access and Backup: Validated Low-Level Compatibility Fixes
Status: Verified
- Incomplete enumeration of large NTFS directories: Merge all directory index and bitmap segments referenced by $ATTRIBUTE_LIST, retain filenames in the index root, and skip freed blocks. Return an error if any required segment is missing. Both initial and cached enumeration were verified against all 5,000 names.
- File type bits: Correctly convert between POSIX inode modes and Go’s
os.FileMode, distinguishing directories, regular files, links, and special files. Correct the use of the NTFSFILE_NAMEdirectory flag, and preserve actualDATAsizes and full 64-bit size values. Directories with a reported size of zero are no longer misidentified as zero-byte regular files due to incorrect type conversion. - Traversal and concurrency: Fix omitted directories and filtering/depth issues in
OpenAt/`du` traversal. Eliminate race conditions involving shared error variables during concurrent traversal, in-place sorting in the NTFS cache’sReadDir, andClearoperations. Returned slices can be held independently by callers. - Btrfs caching and hard links: Fix degraded cache bucket distribution caused by aligned node addresses. Lookups by sequential position reuse the existing name index and match both the name and inode, preventing hard links within the same directory from resolving to the wrong entry.
Photos: Improvements to Photo Management, Processing, and Browsing
Status: Verified
Stability and Resource Usage
- Improve media cache and temporary file management to prevent preview files from being written to memory-backed temporary storage by default, reducing memory pressure from large libraries.
- Improve resource reclamation when AI models are idle. Managed recognition processes can exit after a period of inactivity and start on demand when new tasks arrive.
- Improve CPU and memory scheduling for background tasks, allowing photo processing to yield resources when they are constrained and resume when conditions improve.
- Increase the search engine’s file handle capacity to reduce the risk of service errors caused by “too many open files” in large libraries.
- Improve recovery and storage preparation during AI worker restarts, app data migration, and initial startup.
- Improve database maintenance and log checkpoint management to reduce unnecessary wake-ups, repeated maintenance, and write overhead.
Importing and Indexing
- Improve import scanning and batch database insertion to reduce the wait before processing begins and progressively display imported content.
- Improve progress reporting for imports and AI processing by distinguishing scanning, active processing, waiting, and failures, preventing partially failed tasks from being incorrectly shown as fully completed.
- Reduce prolonged blocking of CPU-based indexing by background preview generation, and improve the handling of previously missed tasks and task resumption after restarts.
- Improve retry strategies for failed files to avoid repeatedly attempting to process the same unprocessable file when conditions have not changed.
Format Compatibility and Browsing
- Improve file type detection, thumbnail generation, and preview processing for HEIF/HEIC images, certain camera RAW formats, and video formats such as MOV.
- Improve image stitching, processing memory usage, and loading for panoramic photos and videos.
- Improve duration and timeline stability for progressive video, along with the gallery, masonry layout, preview zoom, and empty-state experience.
New Capabilities and Usability
- Make the multilingual interface follow the ZimaOS system language and prepare search language resources as needed.
- Add search query language detection and multilingual keyword search for common objects to improve cross-language photo searches.
- Add problem file management, allowing users to view files that failed processing and the reasons for failure, then retry or ignore them.
- Shared album support is in development.
Other System Improvements
- Higher CPU core limit: Increase the kernel’s supported CPU core limit to 256 to accommodate more devices with high core counts.
- Container runtime update: Upgrade runc to 1.3.5.
- Improved wireless compatibility: Enable WPA3 support and add the kernel driver configuration required for Intel Wi-Fi 7 adapters.
- File synchronization tool update: Upgrade rsync to 3.4.3.
If you’re experiencing any other issues that you believe affect stability, please leave a comment with a link to your existing report, details about your hardware and system environment, and steps to reproduce the issue. This will help us verify and investigate it.
Thank you for your feedback and patience, and for helping us make ZimaOS better together ![]()
Best,
ZimaOS Team