- 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>
5.4 KiB
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 validation —
ShoppingCartValidateCheckouthook 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_keysduring 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()andencodeURIComponent() - 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 packageinitServerBuild()accepts optional VF user ID parameter for SSH key creationServerResource::process()returns raw numeric resource values andvncEnabledboolean- Comprehensive README rewrite with installation, configuration, troubleshooting, and API reference
Fixed
- Add
isset()guards beforecount()on ipv4/ipv6 arrays in ServerResource to prevent PHP 8.0+ TypeError - Add null checks after
getWhmcsService()andgetCP()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()withRuntimeExceptionin Curl.php - Change
catch(Exception)tocatch(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.sqlfile - 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)