All checks were successful
Publish Release / release (push) Successful in 7s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
124 lines
4.8 KiB
Markdown
124 lines
4.8 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to the VirtFusion Direct Provisioning Module for WHMCS.
|
|
|
|
## [1.2.0] - 2026-04-17
|
|
|
|
### Features
|
|
- **PowerDNS reverse DNS (PTR) integration** — opt-in via companion `VirtFusionDns` addon module:
|
|
- Automatic PTR sync on server create, rename, and terminate
|
|
- Client-area "Reverse DNS" panel with one editable PTR per assigned IP and per-row status badges
|
|
- Admin services-tab widget with Reconcile (additive) and Reconcile (force reset) buttons
|
|
- Daily cron additive reconciliation (never overwrites existing PTRs)
|
|
- Forward-confirmed reverse DNS (FCrDNS) enforcement — PTR writes rejected if forward A/AAAA doesn't resolve to the target IP
|
|
- IPv4 + IPv6 support with full nibble-reversal for `ip6.arpa`
|
|
- RFC 2317 classless delegation support (both CIDR-prefix `0/26` and block-size `64/64` conventions)
|
|
- Automatic NOTIFY after every successful PATCH so slaves pick up SOA bumps immediately
|
|
- PowerDNS zone ID `=2F` URL-encoding for zones containing `/`
|
|
- **Security hardening helpers** on the Module base class:
|
|
- `requirePost()` — 405 on non-POST mutations
|
|
- `requireSameOrigin()` — CSRF Origin/Referer check against WHMCS host
|
|
- `requireServiceStatus()` — filter endpoints by `tblhosting.domainstatus`
|
|
- Applied to all rDNS endpoints with successful-write audit logging
|
|
- Merged Test Connection — when the DNS addon is active the admin button verifies both VirtFusion AND PowerDNS in a single check
|
|
|
|
### Bug Fixes
|
|
- `IpUtil::parseClasslessZone` now rejects misaligned start addresses (e.g., `3/26.x.y.z` — /26 ranges must begin at a multiple of 64). Prevents silent write-into-wrong-zone on misconfigured zone names.
|
|
|
|
### Documentation
|
|
- Detailed design-rationale commentary added across the module for future-developer onboarding (Cache, Curl, Log, Database, ServerResource, ConfigureService) and throughout the new PowerDNS subsystem
|
|
- README updated with an extensive "Reverse DNS Addon (PowerDNS)" section covering activation, configuration, behaviour, and security posture
|
|
- CLAUDE.md updated with architecture notes and PowerDNS API compatibility details
|
|
|
|
## [1.0.0] - 2026-03-19
|
|
|
|
### Features
|
|
- OS template tile gallery with accordion categories, brand icons, and search
|
|
- Inline server rename with friendly name generator
|
|
- Traffic statistics canvas chart in resources panel
|
|
- Backup listing timeline in manage panel
|
|
- VNC enable/disable toggle with connection details and password copy
|
|
- Server root password reset with auto-clipboard copy
|
|
- Redis-backed API response caching with filesystem fallback
|
|
- Skeleton loading, action cooldowns, progress indicators
|
|
- Copy-to-clipboard buttons for IP addresses
|
|
- Client-side SSH Ed25519 key generator on checkout page
|
|
- VNC console support, resources panel, self-service billing
|
|
- Configurable option sliders on checkout page
|
|
|
|
### Bug Fixes
|
|
- XSS escaping, null guards, and proper error handling
|
|
- All state-mutating operations use POST instead of GET
|
|
- Explicit break after all output() calls in client.php
|
|
- Server-side regex validation on rename endpoint
|
|
- Error messages sanitized (no raw API errors exposed to clients)
|
|
|
|
### Removed
|
|
- Client IP removal capability (IPs managed by VirtFusion)
|
|
- IP add buttons (managed by VirtFusion during provisioning)
|
|
- Firewall panel (non-functional; managed in VirtFusion admin)
|
|
|
|
### Infrastructure
|
|
- Tag-based release workflow (compatible with Gitea and GitHub)
|
|
- Codebase consolidation: resolveServiceContext(), groupOsTemplates(), vfUrl(), vfShowAlert()
|
|
|
|
## [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
|
|
- Security policy (SECURITY.md)
|
|
- License (GPL v3)
|