# Changelog

### Mikrotik VPN module **[WHMCS](https://puqcloud.com/link.php?id=77)**
#####  [Order now](https://puqcloud.com/whmcs-module-mikrotik-vpn.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Mikrotik-VPN/) | [Community](https://community.puqcloud.com/)

## v4.1.0 — 2026-09-30

- **Resilient Daily Cron & Usage Synchronization.** Usage updates and traffic metric collection during WHMCS automation runs are now completely isolated per account with comprehensive diagnostic logging. A temporary connection hiccup or offline router will never interrupt the billing run for your other customers.
- **Strict PHP 8.2+ Compatibility & Type Hardening.** Resolved typed property assignment issues across package speed and bandwidth configurations, ensuring seamless and crash-free execution on modern PHP 8.1, 8.2, and 8.3 environments.
- **Zero-Touch Configuration Auto-Migration.** Existing products configured on previous versions automatically upgrade their parameters into the modern unified settings format directly in the database upon editing, eliminating manual reconfiguration.
- **Enhanced WHMCS 9 Admin Experience.** Refined dynamic module settings detection for Select2 interfaces, providing instant and responsive controls in the WHMCS 9 administrator panel.
- **Clean Module Logging.** Excluded local database license verification checks (`License_Verification (db)`) from the WHMCS Module Log, recording exclusively online verification calls to keep diagnostic logs clean.

---

## v4.0.0 — 2026-09-22

- **Atomic traffic statistics collection.** Replaced read-modify-write logic with atomic SQL increments (`Capsule::raw`) in `StatisticsSaveTraffic()`, eliminating race conditions and traffic data loss during concurrent WHMCS cron jobs and metric queries.
- **WHMCS Usage Billing MetricProvider fix.** Resolved zero-traffic reporting so that `Usage(0.0)` is reliably returned when usage is 0 GB, preventing "No usage data" statuses in WHMCS.
- **Unified interface reset action.** Removed redundant `resetConnection` action and button, standardizing on a single, clean **`Reset VPN Interface`** button across admin and client interfaces.
- **Admin API connection timeout.** Enforced a strict 15-second timeout on router status checks with offline circuit breaker, eliminating admin panel hangs on unreachable Mikrotik routers.
- **Guzzle HTTP Client integration.** Migrated all external API and license verification requests from legacy cURL to `\GuzzleHttp\Client` with exponential backoff and retry mechanism.
- **ionCube 15 & PHP 8.2+ architectural upgrade.** Transitioned `hooks.php` to an unencoded lightweight bootstrap delegating logic to `lib/puqMikrotikVPNHooks.php` for seamless ionCube 15 compatibility.
- **Automated usage cleanup on termination.** Local usage statistics in `puqMikrotikVPN_statistics` are now automatically purged when a service is terminated.
- **Enhanced Client Area UI.** Integrated standard PUQ client area UI toolkit with `header.tpl`, dynamic copy-to-clipboard buttons, toast notifications, CSRF protection, and streamlined responsive layout.
- **Legacy configuration fallback.** Added transparent backward compatibility for products migrating from older configuration slots (`configoption2..11`).
- **Comprehensive localization.** Standardized translation strings across all 26 supported languages with safe typographic apostrophes and full Ukrainian language support.

---

## v3.1.1 (02-06-2026)

- **Full support for the latest RouterOS 7.21.4.** The module has been verified end-to-end against the newest Mikrotik firmware, so you can confidently run your VPN services on up-to-date, secure routers.
- **Rock-solid router communication.** Connections to your Mikrotik devices are now even more reliable — requests that could previously stall on certain firmware versions complete instantly, keeping provisioning and management fast and dependable.
- **Stay current with peace of mind.** Whether you are deploying brand-new routers or upgrading existing ones to the latest RouterOS, your VPN automation keeps working smoothly out of the box.
- **PHP 7.4 support is back.** The module runs flawlessly on PHP 7.4 once again, so customers on established hosting stacks can keep their proven setup without rushing a server upgrade. We will continue to support PHP 7.4 for as long as it remains technically possible.

---

## v3.1 (20-04-2026)

- **Improved stability across the WHMCS admin area.** Rare page-loading errors that could appear on some admin screens (for example when opening a support ticket on installations with non-standard file layouts, symlinks or custom hosting paths) have been eliminated. The admin panel now loads smoothly in every environment.
- **Greater compatibility with complex hosting setups.** The module is now fully resilient to WHMCS installations using symlinked directories, multi-domain hosting and custom include paths.
- **Smoother day-to-day operation for administrators.** Fewer interruptions, no unexpected "Oops!" pages, and a more predictable experience when working with tickets, clients and services — so your team can focus on customers, not on troubleshooting.

---

## v3.0 (01-02-2026)

- Support for WHMCS 9+
- Redesigned product module settings
- Updated client area interface design
- Remote ability to have traffic-based packages has been removed; instead, a post-paid traffic billing model has been implemented using standard WHMCS metrics

> **Note:** Product reconfiguration is required after update.

---

## v2.2 (23-01-2025)

- The product configuration method has been redesigned
- Added a configuration option in the product settings to display custom HTML in the client panel based on the VPN protocol

> **Important:** After the update, all products using this module must be completely reconfigured.

---

## v2.0 (23-09-2024)

- Module coded with ionCube v13
- Supported PHP versions: 7.4, 8.1, 8.2
- Compatible with WHMCS 8.11.0+
- Client area more adapted for mobile
- Copy-to-clipboard buttons added for login and password

---

## v1.3.5 (11-10-2023)

- Support for WHMCS v8.8.0
- Translations added/updated: Arabic, Azerbaijani, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Farsi, French, German, Hebrew, Hungarian, Italian, Macedonian, Norwegian, Polish, Romanian, Russian, Spanish, Swedish, Turkish, Ukrainian

---

## v1.3 (04-02-2023)

- Redesigned client side with intuitive icons
- Improved PHP 8.1 compatibility
- Bug fix: "Attempt to assign property bytes_upload on string" in puqMikrotikVPN.php

---

## v1.2 (04-01-2023)

- Support for WHMCS v8.6
- Support for IonCube PHP Loader v12
- PHP 8.1 support
- Template improvements
- Added configurable frequency for traffic statistics collection (daily cron and per cron)
- Traffic counters on Mikrotik are reset to zero after each statistics collection
- Email template selection changed from text input to dropdown menu

---

## v1.1 (28-10-2022)

- Client area design improvements
- Ukrainian and Persian translations added
- PPP secret profile selection in product settings changed from text input to dropdown

---

## v1.0 (01-08-2022)

- First release


<!-- sync:ab65cd1a9cf431d6 -->