All notable changes to this project will be documented in this file.
- Extra mount options with split button UI and quick-chip buttons (noatime, nodiratime, nobarrier, compress-force)
- Collapsible error details for mount failures
- Read-only mount option with RO checkbox on disk cards
- Improved passphrase clearing, operation rate limiting, and graceful shutdown
- Optimized diskutil batching for faster disk detection
- Simplified sudo auth: try native PAM first (handles Touch ID), fall back to askpass dialog
- Preserve ALFS_PASSPHRASE through sudo for encrypted volume mounting
- Improved RAID, LVM, and LUKS handling with better detection and error messages
- RAID and LVM volume support in GUI (visible in admin mode)
- Svelte-check errors in shell and actions pages
- Reinit-pending banner when VM image update is needed after CLI upgrade
- Updated adapter-static and dependencies
- Fetch full git history for changelog generation in CI
- Use dynamic image list for shell dropdown instead of hardcoded values
- Use cargo install for git-cliff on macOS CI runner
- Removed list command merging workaround
- GUI and CLI version display in sidebar
- Automated changelog generation with git-cliff
- Improved cache cleanup, error sanitization, and log batching
- Added input validation and improved error handling
- Use piped stdin instead of null for command execution
- Security hardening for temp files, device validation, and cache
- Push events for real-time status updates (reduced polling)
- Virtualized log viewer with follow mode
- Typed error handling module
- Frontend logging via tauri-plugin-log
- Constants module for timeouts, limits, and event names
- Performance optimizations for disk listing and status checks
- Command result caching with TTL-based eviction
- Fixed hardcoded colors to use CSS custom properties
- Added Content Security Policy improvements
- Custom actions management page (create, edit, delete mount/unmount hooks)
- VM image selector on Shell page (Alpine/FreeBSD)
- Eject button now only shown for external drives
- Unmount before eject for safer disk removal
- Shell no longer auto-starts when navigating to Shell page
- Eject button to safely power down and remove disks
- Disk detection now merges native and MS fallback results
- Linux-only cards now properly detected (not filtered by -m flag)
- Cards with broken GUID tables still work via MS fallback
- "Linux Filesystem" partition type now recognized as supported
- Disk watcher now polls for physical disk changes (catches Linux-only disks)
- Ad-hoc code signing to reduce Gatekeeper issues
- Homebrew cask now auto-removes quarantine attribute on install
- Embedded VM shell with xterm.js terminal emulator
- VM Images management page (install/uninstall alpine, freebsd images)
- Alpine packages management page (add/remove custom apk packages)
- First-run detection with setup info banner
- Free-form RAM/vCPU input (no longer constrained to dropdown options)
- Settings now reads config from CLI (shows actual values including defaults)
- Shell auto-starts when navigating to Shell page (if no filesystem mounted)
- Improved CLI not found message
- Config parsing for unquoted string values from CLI output
- Init banner now disappears after VM initialization completes
- Enabled Content Security Policy (CSP) to protect against script injection
- Disabled devtools in production builds
- Auto-refresh disk list when volumes are mounted/unmounted
- CLI path discovery (searches PATH, ANYLINUXFS_PATH env var, common locations)
- Config validation for RAM, vCPUs, and log level settings
- Watcher thread shutdown mechanism to prevent thread accumulation
- Increased mount verification timeout from 2.5s to 10s
- Reduced tokio dependency features (smaller binary)
- Build script now cross-platform (Node.js instead of macOS-specific sed)
- Compiler warnings (unused imports and variables)
- Unused CSS selectors in MountStatus component
- Disk list race condition on eject (1.5s settle time)
- Initial release
- Mount/unmount Linux filesystems (ext4, btrfs, XFS, etc.) on macOS
- Support for encrypted drives (LUKS/BitLocker)
- Real-time mount status monitoring
- Log viewer with file watching
- VM configuration (RAM, vCPUs, log level)
- Admin mode for enhanced disk detection
- Force cleanup for orphaned VM instances