π Nova v3.8.0 Release Notes
Release Date: 2026-06-21
Release Type: Reliability, Compatibility, Self-Service Updates, and Usage Governance
Executive Summary
Nova v3.8.0 is a production-focused release designed to improve reliability, client compatibility, operational control, and self-service maintainability.
This release introduces in-app self-update capabilities, Dashboard update notifications, multi-SOCKS5 exit support, pinned/static exit IP configuration, daily and weekly SOCKS5 rotation, and stronger account-protection controls for Cloudflare deployments. It also resolves several high-impact issues affecting real users, including Clash/FlClash import failures, Hiddify profile compatibility problems, D1/KV binding confusion, KV quota exhaustion, and hot-path performance bottlenecks.
Note: All functionality introduced in versions 3.0 through 3.7 remains supported. No features have been removed.
Upgrade Path
Nova v3.8.0 is a drop-in replacement for the previous worker.js.
No changes are required to your existing:
Configuration
D1 database
KV namespace
UUID
Admin password
User records
Subscription links
Users running v3.7.x will see the new Dashboard update banner and can upgrade directly from:
Settings β Update Panel
Key Highlights
In-app Worker self-update with binding-preserving deployment.
Dashboard banner for new version availability.
Multiple SOCKS5 exits with client-side failover.
Static / pinned exit IP support.
Daily and weekly SOCKS5 auto-rotation.
Monthly data cap with automatic pause protection.
D1-first storage behavior with near-zero KV usage in steady state.
Import compatibility fixes for Clash, FlClash, and mihomo.
Hiddify compatibility improvements.
WebSocket retained as the default transport (gRPC moved to legacy status).
Improved install diagnostics for D1 and KV bindings.
Telegram bot navigation improvements.
Hot-path CPU and subrequest optimizations.
New Features
π In-App Self-Update
Nova can now update the running Worker directly from the admin panel, without requiring manual redeployment. Administrators provide a Cloudflare API token with Workers Scripts edit permission. The token is used only for the update request and is not stored.
The process preserves all existing bindings and runtime configurations.
New Endpoints Added:
GET /admin/update-check.json
POST /admin/self-update.json
π’ Dashboard Update Banner
The Dashboard now displays an update banner when a newer Nova version is available, linking directly to Settings β Update Panel. This improves visibility and simplifies upgrades for non-technical administrators.
𧦠Multiple SOCKS5 Exits with Failover Support
The chain-proxy field now supports multiple SOCKS5 proxy entries (one per line). Nova distributes generated nodes across the available exits, allowing client applications to balance traffic and fail over if an exit becomes unavailable. Per-node $socks5://... directives remain supported and take priority over global settings.
π Static / Pinned Exit IP
Administrators can now configure a single SOCKS5 proxy as a pinned exit. When only one proxy is provided in the chain field, all generated nodes use the same fixed exit IP. This is ideal for services sensitive to frequent IP changes.
π Daily / Weekly SOCKS5 Auto-Rotation
Nova now supports deterministic SOCKS5 auto-rotation. When a proxy pool is configured, administrators can choose daily or weekly rotation and define the active proxy count. Clients receive the updated set on their next subscription refresh without needing external cron jobs.
π‘ Usage Governance and Account Protection
To prevent accidental overuse and reduce deployment risk on free-tier Cloudflare accounts, Nova v3.8.0 introduces:
Monthly data caps with automatic pause upon exceedance.
Automatic reset at monthly rollover.
Safer default quota and expiry values for new users.
Malware and phishing blocking enabled by default (speed-test blocking retained).
When the monthly data cap is exceeded, Nova automatically enables the kill switch and returns a 503 error for proxy and subscription access until the reset.
Fixes and Improvements
πΎ D1-First Storage and KV Budget Fix
Nova now treats D1 as the primary storage layer when a D1 binding is available. Previously, writes mirrored to KV and read misses exhausted the free KV daily request budget.
KV write mirroring is disabled by default.
KV reads stop after the one-time migration is complete.
D1-backed deployments use near-zero KV in steady state.
To explicitly enable KV mirroring: Set NOVA_KV_MIRROR=1.
π D1 Binding Name Tolerance
Nova now accepts both DB and D1 as valid D1 binding names, resolving false "D1 not connected" reports during setup.
π©Ί Improved Install Diagnostics
The /install/status endpoint now reports detailed D1 connection info (d1Bound, d1Probe), allowing the wizard to distinguish between no binding, incorrect names, or unreachable databases.
π§© Clash / FlClash / mihomo Import Fix
Generates stricter Clash-compatible output. Unsupported fields (ech-opts.query-server-name, grpc-user-agent) have been removed, and DNS de-duplication has been hardened to prevent duplicate-key failures.
βοΈ Transport Compatibility Updates
WebSocket: Remains the default transport for broadest compatibility.
XHTTP: Available as an opt-in, clearly labeled for Xray-core clients only (e.g., v2rayNG).
gRPC: Moved to legacy status. Existing configurations still work, but it is marked as legacy in the panel and removed from new selections in the Telegram bot.
π€ Telegram Bot Improvements
Added "Back-to-menu" buttons to Status, Subscription, Config, and Help flows.
/status now fetches live Cloudflare usage instead of stale saved values.
π©Ή Install Page Theme and Detection Improvements
The first-run wizard now applies the selected theme before first paint (preventing light-mode flashes), respects system preferences, and improves binding detection after changes.
β‘ Hot-Path Performance Optimizations
Reduces CPU usage and subrequests on Cloudflareβs free plan via:
Per-isolate caching for MD5, SHA-224, Cloudflare usage, auto-key, and per-ISP clean-IP CIDR.
Parallelized per-user usage reads and clean-IP DNS resolution.
Subrequest counts strictly kept within free-plan limits.
Fixes for cold-isolate kill-switches, usage counter race-conditions, and Singbox DNS replacements.
Worker Files
| File | Description |
|---|---|
| worker.js | Single-file Cloudflare Worker build. Obfuscated production build using string-array obfuscation and browser-safe no-eval settings. Preserves cloudflare:sockets. Dashboard is served from public/ or via ASSETS binding. |
| public/version.json | Carries the latest published Nova version (publish: 3.8.0) and powers the in-app update-check workflow. |