NexoVirt changelog
Every NexoVirt release: newest first.
v1.2.13 : NexoVirt v1.2.14
New Features
- Prometheus Exporter: A new
/metricsendpoint is now available for Prometheus integration, allowing users to scrape metrics from NexoVirt. - Grafana Dashboard: A new NexoVirt Grafana dashboard (slice 2) has been shipped, providing a visual representation of metrics.
- Prometheus Settings Page: A dedicated settings page for managing the Prometheus exporter has been added, allowing admins to enable the endpoint and configure IP allowlists.
Improvements
- Enhanced Metrics View: The Prometheus settings view now utilizes the full width of the panel and eliminates duplicate headers for a cleaner interface.
- Export Format for Grafana: The dashboard is now available in an export-for-sharing format for easy cataloging on grafana.com.
Fixes
- Metrics Token Filter: A new filter has been implemented to ensure that the
/metricsendpoint is gated by a valid token and IP allowlist, enhancing security. - Dashboard Export Fix: Fixed an issue with the Grafana dashboard export format to ensure compatibility with the grafana.com catalog.
v1.2.12 : NexoVirt v1.2.12
New Features
- Dismiss Failed-Provisioning Banner: Users can now dismiss the failed-provisioning banner for guests, clearing any lingering notifications.
- Bulk Snapshot and Delete: Admins can perform bulk snapshots and deletions directly from the guests list, streamlining management tasks.
Improvements
- Enhanced Guest Management: The interface now includes options for bulk actions, improving efficiency when managing multiple guests.
Fixes
- Provisioning Job Handling: Fixed issues related to the status of provisioning jobs, ensuring that dismissed jobs do not show as failed.
v1.2.11 : NexoVirt Panel Release Notes
New Features
Add IP addresses to a guest after creation
Assign extra IPv4 or IPv6 addresses to a running VM or CT. Each additional address is added as its own NIC (net1, net2, and so on) with static config, and releasing one address removes only that address and its NIC.
Global search for IPs and tags
The guests list search now matches on IP address and on Proxmox tags, in addition to name and VMID. Tags show as small badges under the guest name.
Dashboard node widgets
The dashboard node table gained two columns: an open alert badge per node (colored by worst severity, links to the Alerts page) and a 24 hour CPU trend sparkline.
Skeleton loading
Tables and lazy loaded panes now show animated placeholder skeletons while data loads, instead of a bare spinner. Applies across every panel table plus the guest network, OS reinstall, and node PCIe panes.
Panel layout toggle
Switch the panel chrome between the sidebar layout and a top navbar layout from Appearance settings, with the navigation regrouped for both.
Improvements
Guest detail page redesign
A centered power card with the OS glyph, split Specifications and Details cards with clearer icons, equal height KPI tiles with inline usage bars, a storage dropdown in the top right, and an All IPs dropdown listing every assigned address.
License recheck every 5 minutes
License state is re validated on a short interval, so an upgrade, renewal, or suspension is reflected in the panel within minutes.
Modal stacking
Stacked modals now layer correctly, so a dialog opened on top of another modal always appears above it.
Agent gate lockout escape
The blocking agent gate can no longer trap you: the embedded Set up and Updeachable, and the gate clears itself once the agent reports current.
Fixes
IP address release freed too many addresses
Releasing a single IP used to free every address of the same family on thatly the address you clicked.
Adding an IP failed with a 501 error
Container configuration writes were sent with the wrong HTTP verb. Containeword writes now use the correct verb, so adding an IP and similar container
changes work.
Network and IPAM tab stuck on Loading after reload
The network topology and IP filter panes now load reliably on tab click and when opened directly.
Guest console and email template editor could stay blank
Both relied on a tab event that fires unreliably in this build. They now in so the console connects and the editor renders.
Actions reported success even when Proxmox failed
Releasing a secondary IP, renewing a plan that then fails to start, and the expire actions now report the real error instead of a false success.
Guest firewall changes could silently fail
Firewall rule sync now distinguishes a genuine Proxmox rejection from an uns the real outcome, including clearing stale fields on rule updates.
Firewall disabled switch showed the wrong state
A disabled rule sometimes displayed as enabled because a stored string valu now reflects the stored value correctly.
v1.2.7 : NexoVirt v1.2.7 - VM Firewall importer
Fixed: The per-guest Firewall tab only read NexoVirt's own database, so firewall rules and the enabled/policy state configured directly in Proxmox (outside NexoVirt) never appeared. A guest with an active firewall and live rules would show up as disabled with zero rules.
What changed: Opening a guest's Firewall tab now reconciles the live Proxmox state back into the panel. NexoVirt reads the current PVE rules and options and mirrors them into its database, so externally-made changes stay accurately reflected everywhere the firewall is shown.
Details:
- Rules still present in Proxmox keep their existing owner.
- Rules found only in Proxmox are imported as admin-owned (locked in the customer portal).
- The customer portal and reseller views read the same reconciled data, so they pick up external rules automatically once an admin opens the guest.
- Fail-safe: if Proxmox is unreachable, the tab falls back to the last-known view instead of erroring
v1.2.6
New
- Event webhooks (Enterprise). Fire outbound JSON webhooks on lifecycle
events (guest create/delete/power, plan suspend/resume, alerts, and more).
Per-hook URL, method, custom headers, and a templated body with {Field}
placeholders. Optional HMAC signing, async delivery with automatic retries,
a delivery log, and one-click test send. Managed under Settings, Webhooks.
- Self-service resource packs. Give a customer a raw resource budget
(no billing) they can spend across their own servers. Admin creates packs,
links them to templates, and assigns one per customer.
- Edit resource limits after create. Change an existing guest's cores,
memory, and disk from the panel, for both admins and resellers, without a
reinstall.
- Plan port speed and traffic throttling. Plans can now set a network
port speed, applied at create. When a guest goes over its traffic limit it
is throttled at the NIC instead of being powered off (configurable).
- New account emails. Server reinstalled, password reset, and server
deleted now send owner notifications, alongside the existing welcome and
server-created mails.
- Full-page log detail. Open any log entry on its own page with correct
severity badge colouring.
Improved
- Email template editor. A three-column layout: grouped template list,
a wide HTML body editor with syntax highlighting and pretty-printing, and a
live preview. Panes are draggable and the editor is vertically resizable.
- Reseller parity. The reseller guest detail now matches the admin and
portal layout: the KVM vertical sidebar (Monitoring, Limits, Network,
Firewall, Snapshots, OS, Danger), a single flat content card, a matching
power card, and a unified sidebar user block. Resellers also get a Security
page (2FA and change password), a light/dark logo uploader, and a tabbed
edit page.
- Guests list at a glance. Defaults to 10 rows with inline memory,
storage, and traffic sparklines per guest.
- Consistent tabs. Horizontal tab strips across the panel now use the
standard Tabler tab style with icons.
- Dismissible Discord banner on the dashboard.
- Faster backups view. The per-guest backup scan is cached briefly, so
opening a guest's backups no longer runs the scan twice.
Fixed
- Console connects on IP-only and plain-HTTP installs. The guest and node
console now uses the panel's own origin, so remote sessions connect
reliably. Localhost development is unaffected.
- LXC root-password change now works through the host agent (containers
have no config API for it).
- LXC port-speed changes now apply correctly.
- Mail log status colours read correctly: sent is green, queued and
pending are blue, failed is red.
- Various guest-detail layout fixes (power buttons, status text size, nested
cards).
v1.2.0 : NexoVirt v1.2.0
NexoVirt v1.2.0
Reseller tier (Enterprise)
Resellers are now node-scoped mini-admins with a self-service portal: manage their own customers, provision servers (full admin-parity wizard), power/console/snapshots, per-guest firewall + IP, reseller-owned plans, assigned IP pools, and per-customer SSH keys. Per-reseller quotas + usage reports (CSV). Strict tenant isolation throughout.
White-label & theming (Enterprise)
- Separate App and Login logos with light/dark variants + independent sizing (contained, no stretching).
- Custom favicon (SVG).
- Full theme colors: primary, background, surface, text, borders for light + dark, with a live preview.
- Theme presets (Ocean/Forest/Sunset/Grape) + one-click Reset to defaults.
Enterprise security & compliance
- OIDC single sign-on with IdP group → panel-role mapping.
- Role-based access control + dedicated admin management.
- 4-eyes approval workflow for sensitive actions.
- Alert escalation, SIEM log forwarding (webhook), audit/event-log CSV export.
Provisioning & portal
- New 6-step create wizard with saved draft.
- Customer portal parity + live provisioning status.
- IP zone LAN scan, compact allocation view, dual-stack change/release.
- One-click datacenter firewall enable; top-level Updates page.
Fixes
Reseller-created guests show immediately; Branding "Save" fix; PVE array-param serialization (agent exec 400s); reinstall/destroy race retry; various UI/stability fixes.
Upgrade notes
Includes DB migrations (applied automatically, health-checked with auto-rollback). Run "Update agent" on each Proxmox host after upgrading. All new features are edition-gated — Community installs are unaffected.
v1.0.34 : NexoVirt v1.0.34 — first public release
The first public release of NexoVirt is here — a self-hosted control panel that turns
one or many Proxmox VE hosts into a clean, multi-tenant platform with a friendlier UI
and a proper REST API.
Highlights
- Multi-host management — bring every Proxmox host into one dashboard. Works with
already-running nodes via the discovery agent (no reinstall); credentials encrypted,
per-host SSH-key auth.
- Full guest lifecycle — a step-by-step create wizard for VMs and LXCs, reinstall,
power and bulk actions, all async with instant UI updates.
- In-browser console — an xterm.js serial terminal with a noVNC graphical fallback.
- Cloud-init OS templates — an editable, branded template library with managed image
storage and on-demand per-node downloads.
- Networking & IPAM — IPv4/IPv6 zones, static or DHCP assignment, NAT/port-forwarding,
host firewall inspection with a network map, and per-guest firewall rules with presets.
- Plans & enforcement — cores, memory, disk, monthly traffic and expiry, with automatic
suspend, delete and resume.
- Backups & snapshots — on-demand vzdump backups, scheduled jobs, Proxmox Backup Server
(PBS) integration, plus instant per-guest snapshots with rollback.
- Customer portal & RBAC — give customers a scoped portal with console, SSH keys and 2FA.
Multi-tenant by design, with admin impersonation and a global audit log.
- Alerting — rule-based alerts via inbox, email and webhooks (Discord & Google Chat).
- Clean REST API — bearer-token, consistent envelope, in-app docs.
Good to know
NexoVirt is in beta — we're polishing for the full release. Bug reports and feedback
are very welcome and genuinely shape what ships next. Thanks for trying it!