- Use $params['serverhostname']/serverpassword directly in TestConnection instead of database lookup (serverid=0 is falsy for new servers) - Default traffic "Used" to 0 GB when allocated but no usage reported - Add ?v=0.0.19 cache-busting to JS/CSS includes in overview.tpl Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
121 lines
5.7 KiB
Markdown
121 lines
5.7 KiB
Markdown
# 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** — `ShoppingCartValidateCheckout` 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
|
|
- Fix TestConnection failing for new/unsaved servers — use `$params` directly instead of database lookup (serverid=0 is falsy)
|
|
- Fix traffic "Used" showing `-` instead of `0 GB` when traffic is allocated but no usage reported yet
|
|
- Add cache-busting `?v=0.0.19` to JS/CSS includes in overview.tpl to prevent stale browser cache
|
|
|
|
### 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)
|