Releases: nightcodex7/yet-another-luci-app
Release list
v0.1.6-final_beta
What's new in v0.1.6-final_beta:
Ultra-Fast & Deterministic Startup
- Streamlined splash screen handoff that instantly decides the first destination screen without extra frame delays or visual jitter.
- Instant auto-login recovery for saved sessions on trusted networks.
Hardened Navigation Guardrails
- Back-button action on the login screen cleanly exits the app to the OS home screen, preventing unauthorized navigation or session leakage.
- Automatic fail-closed session handling when reopening on unfamiliar Wi-Fi networks or mobile data.
Parental Controls & Storage Architecture
- Decoupled state management with controller-owned secure storage persistence and activity log cleanup.
- Granular result feedback reporting exact failure reasons (firewall rejection, router unreachable, storage errors).
- Single source of truth for device access schedules and pause expirations.
Platform Reliability & Security
- Self-device hazard protection preventing accidental management cutoff.
- Standardized open-source build verification checkmarks in settings.
v0.1.5-beta
What's New in v0.1.5-beta
Guest Wi-Fi & Atomic Subsystem Provisioning
- UCI Creation & Network Isolation Hardening: Resolved section creation defects (
_ensureUciSection) on ubus JSON-RPC when provisioning guest interfaces (guestnetwork,guestDHCP,zone_guestfirewall). - Strict Router Administration Protection: Updated guest firewall zone policy to
input: 'REJECT'with dedicated DHCP (UDP 67) and DNS (UDP/TCP 53) access rules, ensuring complete isolation from router management services (LuCI web/SSH/ubus) and local subnets while maintaining WAN internet routing. - Layer-2 Client Isolation: Verified hostapd
ap_isolate=1(isolate: '1') to prevent peer-to-peer guest device communication.
Parental Controls & Automated Schedule Enforcement
- Active Schedule Window Evaluation: Implemented real-time schedule evaluation (
isTimeInBlockWindow) and periodic background synchronization loop to automatically block internet access during active scheduled windows and restore connection upon window expiration. - Unrestricted Bypass Override: Toggling bypass rules now immediately synchronizes firewall DROP rules on the OpenWrt router.
- Dynamic Device Assignment Sync: Profile device attachments/detachments instantly reflect live firewall blocking rules.
Backup & System Restore Pipeline Hardening
- Pre-Restore Byte & Header Integrity Check: Implemented native
GZipCodecand tarustarmagic header validation (0x1F 0x8B) to inspect backup archives before transmitting to/tmp/uploaded_backup.tar.gzand executingsysupgrade -r. - Clean Post-Restore Reboot Flow: Triggering automatic
/sbin/reload_configpost-restore and presenting a clean router reboot prompt.
Atomic UCI Commit / Rollback & State Resynchronization
- Automatic UCI Revert Guard: Integrated
uciRevertacross wireless, firewall, network, and DHCP mutation flows. Any failed intermediate operation automatically reverts uncommitted changes from/tmp/.uci/. - Live State Reconciliation: Network Actions Controller now forces immediate dashboard state refresh post-transaction to maintain UI accuracy with router state.
Self-Device Protection & Viewport Hardening
- Management Session Safeguard: Integrated
SelfDeviceGuard.getLocalDeviceAddresses()across client bans, parental control pauses, and access control dialogs to warn users before performing operations that could sever their active Wi-Fi session. - Viewport Overflow & Form Protection: Enforced universal 100px bottom scroll padding and
PopScopeform discard confirmation dialogs across legacy and modern displays.
v0.1.4-beta
What's New in v0.1.4-beta
Dynamic Hardware Capability Querying
- Live Router-Queried Wireless Settings: Migrated static radio configuration dropdowns to real-time, hardware-queried capabilities via
iwinfo(countrylist,freqlist,htmodelist,txpowerlist). - Hardware-Supported Frequencies & Power Limits: Frequencies, channel numbers, and transmit power limits (in dBm / mW) are now directly probed from physical radio hardware (
radio0,radio1). - Visual Prefetch Progress: Added a non-blocking
LinearProgressIndicatorwhen loading live hardware capabilities in configuration dialogs.
Wi-Fi Security & Passphrase Strength Analysis
- Real-Time Password Strength Meter: Added animated 4-bar passphrase security indicator across
EditSsidDialog,AddSsidDialog, andProvisionGuestNetworkDialogassessing length, case mix, digits, and special characters.
Session & Authentication Hardening
- Seamless Auto-Login Persistence: Fixed credential form race condition to automatically log back in on app relaunch while retaining saved router profiles on logout.
- Enhanced ACL Permission Handling: Prioritized
capabilities.hasUciWriteAccessover strict username matching to fully support custom non-root administrative accounts. - Login Troubleshooting Guide: Interactive connection diagnostic modal sheet providing quick steps for gateway IP verification, LuCI credentials, and self-signed SSL options.
Bug Fixes & Code Cleanup
- Stale Revert Timer Removal: Fully cleaned up legacy 25-second auto-rollback UI badges and timer lifecycle listeners.
- Change Gating: Enforced strict
_hasChanges()checks before allowing UCI commits to avoid unnecessary router writes.
v0.1.3-beta
What's Changed in v0.1.3-beta
MTD Firmware Partition Extraction & Hardening
- Zero-Shell Native Base64 RPC Dumping: Implemented native LuCI
file.readRPC with server-side Base64 encoding (base64: true) for MTD flash partition extraction. Eliminates binary truncation at NUL (0x00) bytes and bypasses restrictedfile.execubus ACLs. - Background Task Execution Lock: Added
isHeavyTaskRunningsynchronization lock inAppState. Pauses background throughput polling during heavy RPC operations to eliminate HTTP socket resets and connection aborts (uhttpd). - Human-Readable Partition Sizing: Parsed
/proc/mtdpartition byte counts directly into the dropdown selector with real-time extraction progress updates.
Network & Device Management Enhancements
- Refined Firmware Image File Picker: Restricted file extension filters to strictly relevant firmware file formats (
.bin,.img,.trx,.iso). - NAND Page-Aligned Chunking: Integrated fallback 32KB (
bs=2048) page-alignedddchunking for maximum hardware flash compatibility. - UTF-8 Malformed Sequence Tolerance: Hardened
Dioresponse decoder withallowMalformed: trueto prevent parser exceptions on non-text binary payloads.
Build & Integrity Verification
- Official Build Verification: Enforced build integrity verification flags across Community and Play Store release pipelines.
v0.1.2-beta
Release v0.1.2-beta
✨ What's New
- Context-Aware Client Filtering: Filter connected devices seamlessly between Total, Wired, and Wireless tabs with real-time counters.
- Active Devices Toggle: Quick toggle to filter active connected clients while maintaining offline lease visibility.
- Self-Device Protection Guard: Safety mechanisms preventing accidental blocking or banning of the currently connected mobile device.
- DHCP & Static Lease Management: Simplified dialogs for editing and assigning static DHCP IP reservations.
Bug Fixes & Refactoring
- State-Driven Architecture: Refactored application state management into modular controllers.
- Theme & Status Color Consistency: Unified status indicators across dark/light mode themes with brand-aligned accent palettes.
v0.1.1-beta
What's New in Yet Another LuCI App (v0.1.1-beta)
Highlights & Enhancements
• Dark Mode Visual Polish & Halo Removal:
• Refined dark mode palette (#0F1523 scaffold, #151D30 surface) for reduced harshness and clean OLED contrast.
• Eliminated neon-glow/halo effects around the elevated center Dashboard badge and connection status indicators.
• Systemic Status Color Token Unification:
• Introduced LuciStatusColors (#22C55E connected, #FBBF24 warning, #4ADE80 live dot, #EF4444 error) for WCAG AA contrast compliance across dark surfaces.
• Migrated all raw status colors across Dashboard, Clients, Network Monitoring, Wireless, Firewall, Services & System, and Package Manager modules.
• Build Verification Integrity System:
• Integrated compile-time official build status verification (OFFICIAL_BUILD flag).
• Streamlined Settings dialog while maintaining full Apache-2.0 compliance via root LICENSE and SPDX headers.
v0.1.0-beta
What's New in Yet Another LuCI App (v0.1.0-beta)
Highlights & Enhancements
- Clean Dual-Stream Real-Time Throughput Graph:
- Upgraded dashboard and real-time metric charts to a merged continuous line chart for clear network traffic monitoring.
- Replaced gradient area fills with clean, high-contrast stroke lines and step-responsive curve rendering (
curveSmoothness: 0.25). - Maintained app-wide brand consistency by pairing primary design system.
- Cloudflare Tunnel Configuration Visibility:
- Improved Cloudflare Tunnel ID extraction in the VPN & Connectivity module by parsing tunnel attributes directly from router.
- Client Lease Time Formatting & Stale Device Pruning:
- Corrected
leaseTime == nullformatting to display"No active lease"instead of conflating absent lease data with infinite static leases ("Unlimited"). - Updated offline client retention logic to exclude disconnected, non-static devices with no active DHCP lease countdown (
leaseTime <= 0), eliminating stale ghost host hints from the client list while maintaining active devices, dynamic leases, and UCI static IP reservations.
- Corrected
v0.0.9-beta
What's Changed in v0.0.9
🛡️ VPN & Secure Tunnels Dashboard
- Comprehensive Tunnel Support: Added native status reporting and controls for OpenVPN, Tailscale, NextDNS, and Cloudflare Tunnels (Cloudflared).
- Cloudflare Tunnel UCI Parsing: Fixed UCI config parsing logic to extract Tunnel IDs and tokens dynamically, resolving "N/A" status display issues.
- Service Action Controls: Enabled instant start, stop, restart toggles and RPC actions for OpenVPN, Tailscale, NextDNS, Cloudflared, and WireGuard interfaces (
ifup/ifdown). - Interactive UI Cards: Upgraded status badges, active connection counters, and real-time connectivity state indicators across all secure tunnel protocols.
💾 Storage & System Diagnostics
- SquashFS Mount Handling: Fixed byte calculation and available space reporting for read-only SquashFS
/romsystem partitions. - Storage Unit Normalization: Improved unit auto-conversion test suite and parsing accuracy.
Full Changelog: v0.0.8...v0.0.9
v0.0.8-beta
What's Changed in v0.0.8
🚀 Real-Time Metrics & Charting Engine
- Fixed Real-Time CPU & RAM Metric Updates: Fixed background polling to fetch
system.infoin parallel during metric intervals, enabling continuous, dynamic CPU and RAM updates in real-time line charts. - OpenWrt CPU Format Parsing: Standardized CPU load parsing (
SystemMetrics.fromSysInfo) across 16-bit shift load integers, float load averages, string arrays, map structures, and directcpu_usagekeys. - Throughput Chart Scaling & Label Formatting: Corrected Y-axis label overlap during high bandwidth utilization by implementing dynamic scale bounds and compact byte throughput formatting.
💾 Storage & Filesystem Monitoring
- Dynamic Unit Auto-Conversion: Integrated heuristic unit detection to parse Bytes, 1K-blocks, and Megabyte block sizes dynamically across diverse OpenWrt router hardware without hardcoded multipliers.
🌐 System & Update Management
- Update Checker Robustness: Updated release fetcher to query release lists, preventing 404 lookup errors on beta/prerelease builds.
- Client Pause Rules: Standardized firewall rule aggregation (
nointernet_wireless_clients) for internet access control.
Full Changelog: v0.0.7...v0.0.8
v0.0.7-beta
Release v0.0.7-beta: Interface, Client, Firewall controls added
What's New & Fixed in v0.0.7:
- Added Interface, Client, Firewall GUI controls: Implemented Restart and enable/disable toggle along with multi-stage fallback reload logic.
- Clients List Real-Time Synchronization: Fixed static lease removal reflecting immediately in the Clients tab without requiring a manual pull-to-refresh or app restart.
- Service Architecture: Promoted
execSucceededtoIApiServiceinterface for consistent command exit status validation across real and mock services.