Release 2.0.0
Major Features and Improvements
- Added support for QUIC and HTTP/3 on newer servers. This will allow the newest Nginx version to be installed/updated from the Nginx repo.
v1.3.12 — 2026-04-14
Per-User Cache Purge Fix (Critical)
- Fixed
grep missing -E flag in per-user cache purge command. The domain pattern uses | as OR separator between multiple domains (e.g. domain.com|www.domain.com|mail.domain.com), but basic grep treats | as a literal character. The purge searched for the entire string including the pipe characters instead of matching any of the individual domains. Changed grep -qa to grep -qaE to enable extended regex.
- Added
grep -a flag for binary-safe matching. Nginx cache files contain a binary header (~336 bytes of null bytes) before the cache key. Without -a, grep may stop reading at null bytes and never reach the domain name stored in the cache key.
- Increased cache file header read from
head -c 512 to head -c 768 to accommodate the binary header plus longer URL cache keys.
wsad Service — PID File Path
- Updated PID file path from
/var/run/wsad.pid to /run/wsad.pid across all files to resolve the systemd warning: "PIDFile= references a path below legacy directory /var/run/". Affected files: wsad.service, wsad.pl, wsa.php, module_handling.php, post_update.php, update.sh, uninstall.sh, install/services/wsad.
v1.3.6 — 2026-04-10
Cache Categories Consolidation
- Reduced Nginx cache categories from 6 to 3 for simpler configuration and smaller vhost files:
- Dynamic — Unchanged
- JS/CSS — Unchanged
- Images/Fonts — Merged from the former
Images, Fonts, Static files and Archives/Media/Documents categories
- Files previously cached under
Static files (json, xml, rss, atom) and Archives/Media/Documents (zip, mp4, pdf, etc.) are no longer cached.
- Automatic migration of all existing user and global configuration files via
post_update.php (v1.3.0 block).
Cache Purge Performance
- Full cache purge (
Purge_All_Cache / Clear_Cache(null)): Replaced find | xargs rm with atomic directory rename + recreate. Purge is now near-instant regardless of file count.
- Per-user cache purge (
Clear_Cache($users)): Replaced grep -r (full file read) with head -c 512 (header-only read) using parallel workers (xargs -P). Added domain name sanitization to prevent shell injection.
Auto-Update Reliability
- Fixed
Send_Curl_Request in activation.php: removed stray echo 'error!!!', added CURLOPT_CONNECTTIMEOUT (10s), increased CURLOPT_TIMEOUT to 15s for heartbeats and 120s for update downloads, added CA bundle path fallback for older AlmaLinux/CentOS systems.
- Fixed
Send_Curl_Version in auto_update.php with same timeout and CA bundle improvements.
- Fixed
enable_auto_update check defaulting to disabled when the SQLite option was never initialized.
- Added
checkModule case to cron Run_Job() switch statement (was defined but never executed).
- Added archive integrity validation before extraction: file size check,
tar tzf test, and post-extraction verification of update.sh.
- Fixed
start_action_info function missing from update.sh (was defined only in install.sh).
- Added update logging to
/var/log/wsa/update.log and archive validation in update.sh.
wsad Service — Migration to systemd
- New
wsad.service systemd unit file with Type=forking, Restart=on-failure, and KillMode=process.
- PID file path updated from
/var/run/wsad.pid to /run/wsad.pid across all files (wsad.pl, wsad.service, PHP and shell scripts).
- Automatic migration from SysV init script to systemd via
post_update.php (v1.3.5 block): stops old service, removes init script, installs unit file, enables and starts via systemctl.
- Updated
install.sh and uninstall.sh to use systemd for fresh installs and clean uninstalls.
- Fixed
create_command() in services.php: replaced broken comparison ($environement == '7') with file_exists('/bin/systemctl') detection. All services (nginx, httpd, wsad) now correctly use systemctl on AlmaLinux 7/8/9/10.
- Fixed
start_on_boot() in services.php with same systemd detection logic.
- Updated
Check_Wsad_Service() in wsa.php to use systemctl is-active and systemctl restart instead of legacy service commands.
- Added ghost process cleanup (kill stale
wsad.pl + PID file removal) in module Enable and Disable methods.
UI Modernization
- cPanel interface: Complete CSS rewrite with design tokens (CSS variables), card-based layout, rounded corners, soft shadows, modern toggle switches, pill-shaped status badges, smooth micro-transitions, refined color palette, custom scrollbar styling, and backdrop blur on popup overlay.
- WHM interface: Matching CSS rewrite with same design token system, modernized menu items with hover animations, refined tables with rounded corners, dark-themed console output, gradient resource usage bars, and improved tab navigation.
- No HTML template changes required — all styling is CSS-only for zero regression risk.
Housekeeping
- Removed unused template
advance_cache_static.tpl.
- Added
advance_cache_imagesfonts.tpl template for the new Images/Fonts cache tab.
- Updated English (
en.php, whm-en.php) and French (fr.php) language files with new category labels.
Release 1.2.21
- Updated ioncube encoding with v15 version.
Release 1.2.19
Bug Fixes and Other Changes
- Added the follogin cookie in the default exception list "wssplashchk" which is used by CloudFlare splash screen
Release 1.2.18
Bug Fixes and Other Changes
- Fixed overinding of Apache content type header.
Release 1.2.17
Minor Features and Improvements
- Added Avif File type in MIME
Release 1.2.16
Bug Fixes and Other Changes
- Added priority to the local Nginx repo files instead of the CloudLinux repo (Not retroactive).
Release 1.2.15
Bug Fixes and Other Changes
- Fixed deprecated issues where the "listen ... http2" directive is deprecated.
Release 1.2.12
Bug Fixes and Other Changes
- Disabled the AlmaLinux Nginx repo and used the official repo provided by Nginx directly.
Release 1.2.11
Minor Features and Improvements
- Added WEBP support in gzip compression file types.
- Updated proxy cache key to account for the "$http_accept" value sent from the browser.
- Added explicit header
add_header Cache-Control "private, no-store, max-age=0" always; when cache control is private.
Bug Fixes and Other Changes
- Fixed missing variable declarations.
Release 1.2.10
Minor Features and Improvements
- IonCube support added for PHP 8.2.
Release 1.2.8
Minor Features and Improvements
- Updated the Perl WHM hook to reload Nginx instead of restarting it.
- Added more debug comments in the code.
- Fixed logging to handle arrays.
Release 1.2.7
Minor Features and Improvements
- Added verification to check if a file exists before deleting it.
- Added verification to check if an array key exists to prevent errors.
- Added a file marker to prevent simultaneous cron jobs from running.
- Added a marker to prevent cron jobs from running more than X times.
- Added checks for empty arrays during HTTPD parsing.
- Changed debug log format from 12-hour (AM/PM) to 24-hour format.
Release 1.2.5
Minor Features and Improvements
- Added a trigger to prevent endless recursive loops in the main WSA command handler.
Release 1.2.4
Minor Features and Improvements
- Added verification for 1:1 NAT IPs in the initial installation file (
wsa-install).
- Updated activation, auto-update, module handling, and post-update modules to consider a 1:1 NAT setup.
Release 1.2.3
Minor Features and Improvements
- Fixed error in the cPanel GUI with undefined variables.
Release 1.2.2
Major Features and Improvements
- Fixed fatal error when clearing the cache from cPanel.
Minor Features and Improvements
- Fixed numerous PHP 8.1 variable declaration errors.
Release 1.2.1
Major Features and Improvements
- Updated Smarty template engine from 3.1.33 to 4.3.1.
Minor Features and Improvements
- Fixed error when assigning undeclared variables during HTTPD parsing.
- Fixed undeclared Smarty template array values.
Release 1.1.9
Major Features and Improvements
- Changed IonCube encoding to support PHP 7.4 and 8.1.
Minor Features and Improvements
- Fixed variable declaration order in function calls.
Release 1.1.7
Behavioral Changes
- Added the "x-cache-enabled" header to remove WordPress server cache checks.
Release 1.1.6
Minor Features and Improvements
- Fixed variable declaration errors in the license validation server.
Release 1.1.5
Bug Fixes and Other Changes
- Reverted limits introduced in 1.1.3 for
worker_connections and worker_rlimit_nofile to 65535.
Release 1.1.4
Bug Fixes and Other Changes
- Fixed an error where the module couldn’t find the proper home folder.
Release 1.1.3
Behavioral Changes
- Reduced default
worker_connections from 65535 to 256 to avoid overwhelming Apache with I/O.
- Reduced default
worker_rlimit_nofile from 65535 to 256 for similar reasons.
- Reintroduced the cache status header in the default configuration.
- Changed default browser cache duration for static elements to 8 weeks.
Release 1.1.2
Major Features and Improvements
- Added the ability to specify a different home folder.
Release 1.1.1
Bug Fixes and Other Changes
- Fixed duplicate
ExecStart in the Nginx service.
Release 1.1.0
Major Features and Improvements
- Four new options added to the Nginx configuration page: XSS protection, disable X-Powered-By header, hide cache status, and content type protection.
- Introduced a new tab in the advanced Nginx settings.
- Added plugin support for the cPanel Jupiter theme.
Bug Fixes and Other Changes
- Added Apache status to the WHM interface.
- Removed custom Apache monitoring from the cPanel check service.
- Added Apache monitoring to the WSA module.
- Temporarily removed cache status and X-Powered-By headers until options are configurable.
Release 1.0.20
Bug Fixes and Other Changes
- Fixed how to retrieve the server IP when enabling the module and added support for IPs from the cPanel IP Aliases module.
Release 1.0.19
Bug Fixes and Other Changes
- Added Apache
RemoteProxyIP to prevent false detections from Imunify360.
Release 1.0.18
Behavioral Changes
- Removed the default Nginx path build after some cPanel upgrades.
- Added a check in the WSA enable function to ensure Nginx has the proper prefix and configuration path.
- Fixed the Nginx service prefix in the post-update function.
Release 1.0.17
Major Features and Improvements
- The module is now compatible with AlmaLinux.
Release 1.0.16
Bug Fixes and Other Changes
- Fixed SSL certificate hooks.
Release 1.0.15
Bug Fixes and Other Changes
- Added CentOS 8 compatibility.
Behavioral Changes
- Changed rate-limiting error code from 503 to 429 (Too Many Requests).
Release 1.0.14
Major Features and Improvements
- Added a dry-run mode for the rate-limiting function.
- Added error logging levels to rate-limiting.
- Added the ability to count all requests or only dynamic page requests.
Behavioral Changes
- Adjusted default values for some rate-limiting features.
Release 1.0.12
Bug Fixes and Other Changes
- Updated the Nginx configuration during rebuilds.
Release 1.0.11
Major Features and Improvements
- Added the ability to change certain Nginx custom parameters.
- Introduced rate-limiting for the global Nginx configuration.
Bug Fixes and Other Changes
- Removed settings for individual cache folders from the WHM GUI.
Release 1.0.10
Major Features and Improvements
- Added pre- and post-virtual include files for the Nginx configuration.
- Fixed an issue where the hostname was not always passed to the backend proxy.
Bug Fixes and Other Changes
- Corrected display issues in the Feature Manager.
Behavioral Changes
- The module now checks for invalid cipher suites before enabling itself.
Release 1.0.9
Major Features and Improvements
- Introduced the ability to have one cache folder per cPanel user.
Bug Fixes and Other Changes
- Corrected function declarations and debug variable names.
- Fixed installation on servers with multiple IPs.
Behavioral Changes
- Removed extra
find commands when purging cache.
- Added a check to ensure IonCube is activated before installing the WSA module.
Release 1.0.7
Bug Fixes and Other Changes
- Fixed duplicate preferred cipher order.
Release 1.0.6
Bug Fixes and Other Changes
- Fixed activation issues on servers with multiple MAC addresses.
Release 1.0.5
Behavioral Changes
- Changed proxy timeout to 1800 seconds to prevent 504 responses on sites with longer Apache and PHP timeout values.
Release 1.0.4
Bug Fixes and Other Changes
- Cleared Nginx cache without removing the directory.
Release 1.0.3
Bug Fixes and Other Changes
- Fixed a display issue in iOS Safari where pages would not load due to an upgrade header issue between the Nginx proxy and Apache server.
- Improved the efficiency of the "purge all cache" function, reducing resource usage.
Behavioral Changes
- Added controller logic to prevent simultaneous rebuilds or purges.
Release 1.0.0
- Initial release - February 20, 2020.
Release 0.8.8
Major Features and Improvements
- Enhanced module activation and deactivation processes.
- Changed the module license check protocol.
Release 0.6.51
Bug Fixes and Other Changes
- Added title translations for Website Accelerator in cPanel.
Release 0.6.43
Bug Fixes and Other Changes
- Fixed service cleanup issues where processes were being multiplied.
Release 0.6.35
Major Features and Improvements
- Added options to switch module branches (dev, stable, current, and edge).
Bug Fixes and Other Changes
- Fixed problems with empty URIs and empty cookies in the advanced settings section.
Release 0.6.34
Major Features and Improvements
- Cache size can now be modified in the module configuration.
Release 0.6.33
Major Features and Improvements
- The WHM module statistics are now loaded asynchronously.
Release 0.6.32
Major Features and Improvements
- The WHM module main page now displays current cache usage across all categories.
Release 0.6.31
Bug Fixes and Other Changes
- Fixed the module logo display in WHM.
Release 0.6.29
Major Features and Improvements
- Added the ability for scripts to activate cache purges.
Bug Fixes and Other Changes
- Updated the cPanel module name.
Release 0.6.28
Bug Fixes and Other Changes
- Optimized the clear cache process to run in the background.
Release 0.6.27
Bug Fixes and Other Changes
- Added documentation links.
- Fixed cookie URL encoding issues.
- Updated the module logo in the WHM module header.
Release 0.6.25
Bug Fixes and Other Changes
- Reloaded version information after module updates.
- Fixed errors in the cPanel advanced template.
Release 0.6.24
Bug Fixes and Other Changes
- Removed alias from the advanced menu.
- Changed default settings for easy caching options.
Release 0.6.23
Behavioral Changes
- Cache purges for groups and individual users are now executed in the background with a "nice" rating of 14.
Release 0.6.22
Bug Fixes and Other Changes
- Fixed missing vHost aliases for domains with SSL.
Release 0.6.20
Behavioral Changes
- Added a cron job to check for changes to Apache configuration every 10 minutes.
- Nginx vHosts are now built separately for domains and subdomains.
Bug Fixes and Other Changes
- Fixed advanced cache display issues to show correct time selection settings.
- Allowed browser cache time modification even when caching is disabled.
Release 0.6.13
Bug Fixes and Other Changes
- Added a language tab to the cPanel advanced display for hosting types.
- Fixed scenarios involving multiple aliases and subdomains.
Release 0.6.12
Behavioral Changes
- Removed old username/password authentication.
Bug Fixes and Other Changes
- Fixed installation script to include WHM images during installation.
- Corrected display of French descriptions in "More Info" settings.
Release 0.6.0
Major Features and Improvements
- Cache purges now execute asynchronously.
- Redesigned the cPanel GUI for a cleaner look.
Behavioral Changes
- Added license management to the module GUI.
- Updated authentication to be IP-based rather than using user credentials.
- Enhanced detection of the operating system environment.
Bug Fixes and Other Changes
- Fixed license error messages in the WHM GUI update section.
- Resolved issues with .htaccess blocking in WordPress multisite setups.
- Added tracking for account and MAC addresses.
- Enhanced WHM module header information for trial, developer, and expired licenses.
Release 0.5.5
Behavioral Changes
- Advanced settings in the cPanel GUI now support breakdown by subdomains and addon domains.
Bug Fixes and Other Changes
- Fixed issues with empty cookies and URIs causing cache bypass.
Release 0.5.3
Major Features and Improvements
- Unified development branches.
- Removed duplicate functions and streamlined module handling.
- Migrated credentials to a license file.
Bug Fixes and Other Changes
- Updated tests and fixed unrecognized fields in advanced settings.
- Enhanced the cPanel
chkServd hooking script.
Release 0.4.3
Major Features and Improvements
- Integrated Smarty templates into the cPanel area.
Bug Fixes and Other Changes
- Corrected variable names in Nginx restart configurations.
Release 0.4.1
Bug Fixes and Other Changes
- Ensured proper disablement of the cPanel
chkServd service when the module is disabled.
- Fixed Nginx and Apache restart issues in the enable module function.
Release 0.4.0
Major Features and Improvements
- Added user configuration files.
- Migrated credentials to the main module configuration file.
Bug Fixes and Other Changes
- Standardized function return values to integers.
- Improved credential handling to avoid global library storage.