Release History

Changelog – Everything We Ship

A complete timeline of WHMDC versions, features, fixes, and updates. Everything we have shipped.

WHMDC is actively developed. All versions are currently in beta. Dates work backwards from today. Each change is tracked with CORE (features), BUG (bug fixes), or FIX (patches/corrections) for reference.

RELEASE BETA CORE BUG FIX
RELEASE

Version 1.1 Production

Features

  • CORE-0263 Slack interactive tickets – Reply, Close, Assign, and Open in WHMDC buttons on New Ticket and Ticket Reply messages in Slack. Staff can reply via modal, close or assign to themselves, and open the ticket in WHMDC. Single Interactivity Request URL; step-by-step setup guide in Slack addon documentation.
  • CORE-0264 Staff–Slack linking – Staff profile and admin staff edit: Slack User ID field, optional “Disable Slack access”, test DM on save, and “Slack connected” badge when linked. Migration adds staff.slack_user_id and staff.slack_disabled. Reply and close actions attribute to staff by name when linked.
  • CORE-0265 Slack slash command/whmdc TIK-12345 or /whmdc ticket TIK-12345 returns ticket subject, status, and Open in WHMDC link.

Updates

  • CORE-0266 Slack addon: client name in ticket context uses users table (first_name, last_name, email) via clients.user_id; New Ticket and Ticket Reply notifications no longer fail with “Unknown column 'c.first_name'”.
  • CORE-0267 Ticket Reply and Ticket Note Slack messages now include the same action buttons (Reply, Close, Assign, Open in WHMDC) as New Ticket. Staff replies trigger only “Ticket Reply (Staff)” – duplicate “Ticket Note” notification removed.
  • CORE-0268 Slack addon documentation: step-by-step Interactivity and Shortcuts setup (Request URL, optional Shortcuts, Options Load URL), and Event Types clarification for Ticket Reply vs Ticket Note.

Fixes

  • FIX-0048 Slack Assign button: fixed “Call to a member function execute() on true” by using a direct UPDATE query for assignment instead of chained prepare()->bind_param()->execute().
  • FIX-0049 Slack Reply modal: “We had some trouble connecting” resolved by returning the view_submission response immediately and running the slack_ticket_reply hook after fastcgi_finish_request() so the modal closes before the notification is sent.
  • FIX-0050 Slack Close action: close message now shows “Closed by [Staff First Name] [Staff Last Name]” when the staff member is linked to Slack; reply is stored with that staff_id.
  • FIX-0051 Slack “Open Panel” button renamed to “Open in WHMDC”.
RELEASE

Version 1.0 Production

BETA

Version 2.26 Beta

Features

  • CORE-0257 Hosting Health Monitor – Background infrastructure monitoring. Cron runs every 5–15 minutes. DNS resolver check (ok, dns_moved, not_resolving), TCP reachability (port 80/443), HTTP response check. Updates resolver_status, http_status, last_health_check, last_response_time_ms. Not tied to tickets. Batching (configurable limit), notification debounce, dedicated IP support. Resolves IP before fsockopen to avoid DNS hangs. HTTP check uses cURL with CURLOPT_RESOLVE to connect to resolved IP whilst keeping Host/SNI correct. All parameters configurable in Setup → Cron (ionCube-compatible).
  • CORE-0250 Predefined Responses – Categories and responses CRUD. Insert into ticket replies; usage count tracking for "Most Used Responses" metrics.
  • CORE-0249 Department Available Priorities – JSON-based per-department priority restrictions (low, medium, high, urgent, fast_track). NULL = all allowed.
  • CORE-0248 Custom Logout URL – Redirect logged-out users to a custom URL (e.g. promo page) when configured.
  • CORE-0247 Reporting Expansion – Billing Cycle Income, Client Group Income, Income By Gateway Provider, Knowledge Base (Latest, Most Popular, Most Viewed).
  • CORE-0246 Domain WHOIS Lookup – Admin tool with detailed log (who, domain, date/time, IP address).
  • CORE-0245 Smart Hosting Resolver – Checks services.cpanel_domain against assigned server IP. Flags DNS moved / not resolving. Cron-run; staff notifications; risk badge, timeline, Live Support integration.
  • CORE-0251 Custom Order Statuses – Staff can add custom statuses (e.g. Awaiting Provisioning, Fraud Hold) alongside system defaults.
  • CORE-0252 Live Support Manager – Real-time dashboard: Real-time dashboard with ticket counts by department/priority, Fast Track highlighting, SLA breach alerts, staff online status, and auto-refresh. TV-friendly operations layout.
  • CORE-0261 Support Performance Report – New Reports Hub report with core metrics (total created/closed, avg/median first response, avg/median resolution, reopened, Fast Track, SLA breaches, awaiting staff/client). Longest tickets table (sortable by duration, waiting staff, waiting client). Staff and department performance tables. Charts: ticket volume, avg first response trend, by priority, by department. Support Health Score (0–100) with colour indicators and tooltip explaining calculation factors (SLA breach rate, average first response, backlog, reopen rate) and CSV export.

Updates

  • CORE-0258 Hosting Issues tile – Now counts active services with infrastructure problems (DNS or HTTP), not tickets. Real infrastructure monitoring.
  • CORE-0259 Hosting Health Monitor migration – Adds http_status, last_health_check, last_response_time_ms, dedicated_ip to services table.
  • CORE-0260 Hosting Health Monitor settings – Admin config in Setup → Cron: batch limit, check interval, notification debounce, TCP/HTTP timeouts, run HTTP check toggle. ionCube-safe.
  • CORE-0253 SLA timestamps: first_staff_reply_at, last_client_reply_at, last_staff_reply_at for first response time, awaiting staff/client timers.
  • CORE-0254 Risk calculator: configurable risk_weight_domain_moved (no hardcoded values).
  • CORE-0255 Cron report email: Email Pipe (processed, tickets created/replied, rejected), Hosting Health Monitor (checked, resolver issues, HTTP issues).
  • CORE-0256 System font updated to DM Sans across admin, client, and public areas.
  • CORE-0262 Pretty URLs for ticket links – Ticket view links now use /admin/tickets/{ticket_number} format across Support Performance Report, Support Ticket Ratings, and Email Logs. Uses getTicketUrl() helper for consistent pretty URLs.

Fixes

  • FIX-0046 Ticket reply form: "invalid form control is not focusable" when submitting reply. Add Predefined Response modal was inside form with required on hidden input; removed attribute (modal uses JS validation).
  • FIX-0045 Slack New Invoice notification now uses invoice number (not database ID) and correct total. Link uses pretty URL /admin/invoices/{invoice_number}.
  • FIX-0047 Support Performance Report: "Unexpected token ':'" in JavaScript trend indicator. Fixed arrow function body parsing by wrapping JSON in parentheses.
BETA

Version 2.25 Beta

Features

  • CORE-0243 UBL / Peppol BIS 3.0 Document Engine – Native UBL 2.1 Invoice export aligned with EN16931 and Peppol BIS Billing 3.0. Document-level compliance (no transport, AS4, SMP, or SBDH). Includes CustomisationID, ProfileID, UUID, InvoiceTypeCode, full LegalMonetaryTotal structure, complete TaxTotal with TaxSubtotal, line-level ClassifiedTaxCategory, supplier and customer VAT, PaymentMeans, PaymentTerms, ISO 3166-1 and ISO 4217 validation, arithmetic consistency checks, and optional XSD validation.
  • CORE-0242 Peppol Transport Provider Interface – Core contract interface for external transport providers. Addons can implement PeppolTransportProvider to integrate with Peppol Access Points or e-invoicing gateways. Includes TransportResult for structured success/error handling.
  • CORE-0241 UBL Export Controls – New admin settings: ubl_bis3_enabled and ubl_xsd_validation_enabled. When disabled, UBL routes return 404 and export options are hidden. UBL export never runs automatically during invoice creation.

Updates

  • CORE-0240 Invoice line-level tax backfill migration. Populates invoice_items.tax_rate and tax_amount for BIS 3.0 compliance.
  • CORE-0244 UBL documentation suite: Technical Architecture, Developer Integration Guide, Commercial Model, and Peppol transport example addon skeleton.

Fixes

  • FIX-0044 Updated install wizard steps where database import thought it was already run.
BETA

Version 2.24 Beta

Features

  • CORE-0239 DomainSpark AI Name Suggestions - AI-powered domain name suggestions. Clients describe their business or industry and receive intelligent recommendations. Uses AI where configured, algorithmic fallback when unavailable. Free for end-users, configurable per TLD.
  • CORE-0238 Customisable Admin Dashboard - Rearrange widgets, choose metrics and reports, configure layout to match your workflow.
  • CORE-0237 Free Growing Language Packs - Built-in language packs that grow over time. Multiple languages supported out of the box. No paid add-ons for translations.

Updates

  • CORE-0236 Marketing site: Legal Notice.
  • CORE-0235 Marketing site: EULA (End User Licence Agreement) with UK law, self-hosted commercial terms.
  • CORE-0234 Marketing site: Changelog page with CORE/BUG/FIX tracking.
  • CORE-0233 Integrations documentation updated: Stripe, PayPal, Revolut, GoCardless, Authorize.net, Braintree, Square, Skrill, 2Checkout; Namecheap, eNom, Domainbox, NameSilo, OpenSRS, ResellerClub; cPanel, Plesk, DirectAdmin, Vultr, SolusVM, Virtualizor, Proxmox, VirtFusion, ISPmanager.

Fixes

  • FIX-0043 Auto-update preserves database settings. Settings, news tags, and TLD pricing are no longer overwritten when upgrading via the auto-updater. New settings and default data are added only when they do not already exist.
BETA

Version 2.23 Beta

Fixes

  • FIX-0042 Access request denial reason support (optional administrator-provided reason when declining).
  • FIX-0041 Staff notifications migration for access outcome tracking.
BETA

Version 2.22 Beta

Features

  • CORE-0228 Access Requests & Grants - Staff request access to admin areas (clients, invoices, reports) beyond their role. Admins approve with temporary (1-8,760 hours) or permanent grants. Staff notifications on approval or decline. Active grants overview tab. Revoke anytime from Active Grants tab or staff profile. Granted access shown on staff profiles. Full audit trail. PermissionManager integration.
  • CORE-0226 Roles & Permissions Migration - Granular role-based permissions system. Administrator, billing, support roles with fine-grained control.

Updates

  • CORE-0224 Client lifecycle hooks for account closure and data retention.
BETA

Version 2.21 Beta

Features

  • CORE-0223 Version & Download Management - Admin interface for managing software versions and client downloads. Multiple versions per file, semantic versioning, stable/beta releases. Access control: public, authenticated, licensed, product-based.
  • CORE-0222 Download Tracking - Complete download logs, per-file and per-version statistics, popular downloads, client download history.
  • CORE-0221 Staff Preferences - Per-staff settings (e.g. dashboard layout). Staff preferences migration.
  • CORE-0220 Staff Calendar Events - Calendar with event times. Staff calendar events migration.

Updates

  • FIX-0040 Dark mode preference migration.
  • CORE-0219 Dark mode support across admin interface.
BETA

Version 2.20 Beta

Features

  • CORE-0218 API Platform v1 - REST API for clients, products, services, invoices, payments, servers, API keys, audit log, webhooks. Bearer token and X-API-Key authentication. Scoped permissions, IP allowlist, rate limiting.
  • CORE-0217 Webhooks - Events: invoice.created, invoice.paid, payment.failed, service.provisioned, service.suspended, client.created. HMAC-SHA256 signature verification.
  • CORE-0216 Audit Logging - All API and UI actions logged. Action type, entity, user type, IP, request/response data.
  • CORE-0215 Slack Integration - Slack Real-Time Notifications for invoices, tickets, and configurable events. Slack addon migration.
BETA

Version 2.19 Beta

Features

  • CORE-0214 SMS Manager - Send SMS to clients and staff for OTP, invoices, tickets, service alerts. 30+ worldwide providers (Twilio, MessageBird, regional specialists). Configurable templates and event triggers.
  • CORE-0213 Fast Track & Opening Hours - Support department fast track and opening hours configuration.
  • CORE-0212 Tickets Public Access - Optional public ticket access for unauthenticated users.
  • CORE-0211 TLD Registrar Migration - Per-TLD registrar assignment for domain management.

Fixes

  • FIX-0039 Invoice direct debit pending status.
  • FIX-0038 Payment redirect flows migration.
  • FIX-0037 Transactions fraud data (FraudLabs Pro, MaxMind) integration.
BETA

Version 2.18 Beta

Features

  • CORE-0210 Fraud Provider MaxMind - MaxMind GeoIP and fraud detection integration.
  • CORE-0209 Security Enhancements - Temp email and anonymous IP blocking. VPN IP blocklist (Surfshark, NordVPN).
  • CORE-0208 Credits Migration - Enhanced credits system for client account balances.
  • CORE-0207 Invoice Tokens - Secure token-based invoice access without login.
  • CORE-0206 Quotes Guest Email - Guest email support for quote acceptance.
  • CORE-0205 Free Domain Options - Free domain for first year or lifetime of hosting service.

Updates

  • CORE-0204 Email templates: display name support.
  • CORE-0203 Knowledge base visibility settings.
  • FIX-0036 License products migration. Product ID and service ID on client licenses.
  • CORE-0202 Product enhancements. Ticket number column. Client currency column.
BETA

Version 2.17 Beta

Features

  • CORE-0201 Passwordless Login (Passkeys) - WebAuthn passkeys: fingerprint, face recognition, hardware security keys. Phishing-resistant, no passwords.
  • CORE-0200 Two-Factor Authentication (2FA) - Email-based 2FA. Enforce globally or opt-in per client.
  • CORE-0199 Admin Area IP-Only Access - Whitelist trusted IPs for admin panel access.
  • CORE-0198 CAPTCHA Protection - reCAPTCHA, hCaptcha, Cloudflare Turnstile on registration, login, contact forms.
  • CORE-0197 Support PIN System - 6-digit PIN for client identity verification when contacting support.
  • CORE-0196 Account Closure System - Client-initiated closure with email verification. Configurable reactivation window.

Updates

  • FIX-0035 VAT validation enhancement.
  • FIX-0034 Activation pending verification flow.
BETA

Version 2.16 Beta

Features

  • CORE-0195 Domain Management - Real-time domain search, TLD pricing, featured TLDs, sale pricing. Registrar integration: Namecheap, eNom, Domainbox, NameSilo, OpenSRS, ResellerClub.
  • CORE-0194 Domain Registration - Frontend registration with full registrar integration. Automatic propagation and DNS management.
  • CORE-0193 Native Payment Gateways - Stripe, PayPal, Revolut, GoCardless, Authorize.net, Braintree, Square, Skrill, 2Checkout. Built-in, no plugins.
  • CORE-0192 Server Provisioning - cPanel, Plesk, DirectAdmin, Vultr, SolusVM, Virtualizor, Proxmox, VirtFusion, ISPmanager. Secure SSO to control panels.
  • CORE-0191 Credit & Debit Notes - Full credit and debit note schema. Credits applied to future invoices.

Fixes

  • FIX-0033 Attachment ID migration for ticket attachments.
  • BUG-0015 Cancelled status on client licenses.
BETA

Version 2.15 Beta

Features

  • CORE-0190 Pro-Rata Billing - Global pro-rata calculations. Fair charges on upgrade, downgrade, or mid-cycle cancellation.
  • CORE-0189 Automatic Renewal Invoices - Cron-based renewal invoice generation. Configurable lead times.
  • CORE-0188 Payment Reminders - Automated overdue reminders. Configurable schedules (7, 14, 30 days).
  • CORE-0187 Late Fees - Fixed or percentage-based. Configurable grace periods.
  • CORE-0186 Order Management - Approve pending orders or instant activation. Coupon codes and add-ons at checkout.
  • CORE-0185 Quotes System - Professional quotes. Client acceptance creates invoice. Status tracking: pending, sent, accepted, declined, expired.
  • CORE-0184 Reports Hub - Performance, sales, billing, income, client, support reports. Export and analyse.

Updates

  • CORE-0183 Email templates migration. Microsoft 365, Gmail, SMTP integration.
  • CORE-0182 Orders notes. Database-managed invoice and ticket numbering.
BETA

Version 2.0 Beta

Features

  • CORE-0181 Core Authentication - Login, registration, logout. Role-based access (client vs staff). Email verification. Secure session management.
  • CORE-0180 Client Management - List, view, edit, search clients. Client groups, announcements. Login as client (admin impersonation).
  • CORE-0179 Invoice Management - Full lifecycle: list, view, mark paid, PDF download, credits. Multi-currency. Bank transfer.
  • CORE-0178 Product & Service Management - Products, categories, pricing, add-ons. Auto provisioning. Service lifecycle. Module assignment.
  • CORE-0177 Support Tickets - Departments, assignment, pinning. Threaded conversations. Status tracking. File attachments. Ticket activity log. Knowledge base. Status pages.
  • CORE-0176 Staff Management - Administrator, billing, support roles. Granular permissions. Department assignments. Profile management.
  • CORE-0175 Pretty URL Routing - SEO-friendly URLs. No query strings.
  • CORE-0174 First-Time Installer Wizard - Step-by-step setup. Database, config, admin account.
  • CORE-0173 Zero Dependencies - Pure PHP 8+. No Composer, no frameworks.
  • CORE-0172 Mobile-First Design - Fully responsive. Works on phones, tablets, desktops.