Files
virtfusion-whmcs-module/CHANGELOG.md
EZSCALE 1e471affd0 feat: add VNC check, SSH key paste, resources panel, sliders, and self-service billing
- VNC panel auto-hides when VNC is disabled on the server
- SSH key paste textarea at checkout with API key creation during provisioning
- Resources panel with current allocation, traffic progress bar, and upgrade link
- changePackage() now applies individual resource modifications from configurable options
- Order form configurable option dropdowns replaced with styled range sliders
- Self-service billing: credit balance, usage breakdown, credit top-up from client area
- Self-service config options (mode, auto top-off threshold/amount) on products
- Auto top-off via WHMCS cron when credit falls below threshold
- CHANGELOG.md covering all versions from 0.0.6 to present

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 14:25:43 -06:00

5.4 KiB

Changelog

All notable changes to the VirtFusion Direct Provisioning Module for WHMCS.

[Unreleased]

Added

  • Power management — Start, restart, graceful shutdown, and force power off controls in client area
  • Server rebuild — Reinstall with any available OS template from client area with confirmation dialog
  • Server rename — Change server display name via client area
  • Network management — View, add, and remove IPv4 addresses and IPv6 subnets from client area
  • VNC console — Browser-based console access (VirtFusion v6.1.0+)
  • VNC runtime check — VNC panel auto-hides when VNC is disabled on the server
  • Backup management — Assign and remove backup plans via API
  • Resource modification — In-place memory, CPU, and traffic changes (VirtFusion v6.2.0+)
  • Resources panel — Client area panel showing current memory, CPU, storage, traffic allocation with progress bars and upgrade/downgrade link
  • UsageUpdate cron — Automated bandwidth and disk usage sync from VirtFusion to WHMCS
  • Dry run validation — Test server creation parameters before provisioning
  • Admin "Validate Server Config" button — Dry run from admin services tab
  • TestConnection — Validate API credentials from WHMCS server settings
  • ServiceSingleSignOn — Native WHMCS SSO integration for VirtFusion panel
  • Server status badge — Visual indicator of server state in overview
  • Traffic usage display — Bandwidth used vs allocated
  • Checkout validationShoppingCartValidateCheckout hook ensures OS selection before order placement
  • SSH key paste at checkout — Users can paste a raw SSH public key during checkout; key is created via POST /ssh_keys during provisioning
  • Order form sliders — Configurable option dropdowns replaced with styled range sliders for resource selection
  • Self-service billing — Credit balance display, usage breakdown, and credit top-up from client area
  • Self-service config options — Product config options 4-6: Self-Service Mode, Auto Top-Off Threshold, Auto Top-Off Amount
  • Auto top-off — During WHMCS daily cron, automatically adds credit when balance falls below threshold
  • Self-service user creation — New VirtFusion users created with self-service billing settings when enabled
  • CLAUDE.md — Project architecture and development guidance for Claude Code

Changed

  • Enable SSL/TLS certificate verification by default (was disabled)
  • Remove error_reporting(0) that silenced all errors
  • Add input sanitization on all user parameters (type casting, regex filtering)
  • Return proper HTTP status codes (401, 403, 400, 500) instead of always 200
  • Add XSS protection with htmlspecialchars() and encodeURIComponent()
  • Readable, unminified JavaScript with JSDoc header
  • Dual panel/card CSS classes for Bootstrap 3/4/5 theme compatibility
  • changePackage() now applies individual resource modifications from configurable options after updating the package
  • initServerBuild() accepts optional VF user ID parameter for SSH key creation
  • ServerResource::process() returns raw numeric resource values and vncEnabled boolean
  • Comprehensive README rewrite with installation, configuration, troubleshooting, and API reference

Fixed

  • Add isset() guards before count() on ipv4/ipv6 arrays in ServerResource to prevent PHP 8.0+ TypeError
  • Add null checks after getWhmcsService() and getCP() in all Module/ModuleFunctions methods to prevent fatal null dereference
  • Fix HTTP status codes throughout admin.php (404, 400, 500, 502 instead of always 200)
  • Guard ConfigureService methods against $this->cp === false
  • Replace exit() with RuntimeException in Curl.php
  • Change catch(Exception) to catch(Throwable) in hooks.php for PHP 8.0+ compatibility
  • Open VNC window before AJAX call to avoid popup blocker
  • Memory conversion checks key name instead of display name

Removed

  • Firewall feature (non-functional — rulesets must be created in VirtFusion admin panel)

[0.0.18] - 2025-10-01

Changed

  • Updated GitHub Actions publish workflow
  • Moved custom field SQL to modify.sql file
  • Minor code tweaks

[0.0.17] - 2024-01-16

Fixed

  • Fix in hooks.php (PR #2 by Prophet731)

[0.0.16] - 2023-09-11

Added

  • GitHub issue templates

[0.0.15] - 2023-09-10

Fixed

  • Typo fixes in module code

[0.0.14] - 2023-09-10

Fixed

  • Fix hook event registration placement

[0.0.13] - 2023-09-10

Added

  • Contributions from BlinkohHost
  • Database-first package ID lookup with API fallback by product name
  • Server build initialization on successful server creation

Changed

  • Custom fields changed to not required
  • Removed linter workflow (not needed for this project)
  • Code cleanup

[0.0.9] - 2023-09-10

Changed

  • Refactored codebase to object-oriented architecture (OOP)
  • Updated README with badges and documentation

[0.0.6] - 2023-09-10

Added

  • Initial release
  • Core provisioning: server create, suspend, unsuspend, terminate
  • WHMCS hooks for dynamic OS template and SSH key dropdowns
  • Checkout validation for OS selection
  • Client area overview template with server information
  • Admin services tab with server ID management
  • Package change (upgrade/downgrade) support
  • Configurable option mapping for dynamic resource allocation
  • GitHub Actions CI/CD with semantic-release
  • Security policy (SECURITY.md)
  • License (GPL v3)