Cookie Consent Manager with Consent Mode v2 (GDPR, KVKK) changelog
All notable changes to Cookie Consent Manager with Consent Mode v2 (kv_cookie_consent_mode) are documented here.
The format is based on Keep a Changelog, and the project uses Semantic Versioning.
[Unreleased]
Section titled “[Unreleased]”[1.1.1] - 2026-10-15
Section titled “[1.1.1] - 2026-10-15”- License verification works on servers without the PHP sodium extension (common on shared and cPanel hosting). Before, the signed answer of the license server could not be checked there, so the add-on entered the 14-day grace period and then switched its features off. The add-on now checks the signature with its own built-in Ed25519 code when the extension is missing.
[1.1.0] - 2026-10-13
Section titled “[1.1.0] - 2026-10-13”- License check. Enter your license key (or CS-Cart Marketplace license number) on the new License tab of the settings. The add-on verifies it with cs-cart.kaviolabs.com when the key is saved and then once a day, only from the admin panel or cron, never on storefront requests. The license covers the domain entered at purchase and all its subdomains; local development hosts are always allowed.
- License status on the License tab (status, licensed domain, result per storefront, last check, end of the updates period) with a Check now button, and a cron entry point (
php admin.php --dispatch=kv_cookie_consent_mode_license.check). - Without a valid license for the store’s domain the add-on runs in a “deny-all safe mode”: every non-essential script and embed stays blocked (placeholders without Load/Allow buttons), Google Consent Mode stays “denied” and no grant is sent, the banner, the preference center and the cookie settings links are not shown, earlier choices are ignored, and the consent log, the GDPR notice bridge and the Meta/TikTok consent signals are off. The store never tracks without consent. The admin panel shows a safe mode notice and a License row in the Status block. New installations and upgrades from 1.0.x work for 14 days before a key is required, and if the license server cannot be reached the add-on keeps working for 14 days.
[1.0.5] - 2026-10-12
Section titled “[1.0.5] - 2026-10-12”- Full page cache of CS-Cart 4.21 (Performance Booster): the 1.0.4 package still wrote to CS-Cart storage data in two places, the daily consent log cleanup and the bridge to the GDPR add-on’s cookie consent mode. Each write cleared the whole page cache. While the page cache is on, both now keep their values in files under
var/kv_storage/.
[1.0.4] - 2026-10-12
Section titled “[1.0.4] - 2026-10-12”- CS-Cart 4.21: the consent banner script and the blocking of third-party scripts were not added to storefront pages, because CS-Cart 4.21 (Smarty 5) ignores the old way of registering page filters. Tracking tags could load before the visitor’s choice. The filter is now registered the Smarty 5 way; older versions are unchanged.
- Works with the Performance Booster (full page cache) of CS-Cart 4.21: pages that the cache shares between guests are always rendered with every non-essential service blocked, and the visitor’s stored choice is applied in the browser. One visitor’s consent can no longer unblock scripts for others.
- The daily consent log cleanup no longer writes to CS-Cart storage data while the full page cache is on, which would have cleared the whole page cache.
- Compatible with CS-Cart and Multi-Vendor 4.21 and PHP 8.3: tested on Multi-Vendor 4.21.2 with PHP 8.3 and the new Nova theme. The add-on now declares the supported range 4.17.2 – 4.21.x.
[1.0.3] - 2026-10-12
Section titled “[1.0.3] - 2026-10-12”- In-place upgrades now complete themselves. After the add-on files are replaced (uploading the new zip over the installed add-on in Add-ons → Manage add-ons, copying the files by FTP, or installing an Upgrade Center package), the next admin page view adds any missing tables, columns, settings, language variables and e-mail templates, and updates the stored add-on version and icon flag. Existing data and setting values are kept. A hidden
schema_versionsetting records the last applied version.
- While the add-on was disabled, saving or refreshing its settings logged “Class not found” errors and left the Status and Consent log boxes on the settings page empty. CS-Cart loads the add-on functions for a disabled add-on without its classes; the add-on now registers them itself.
- After an upgrade by uploading the new zip over the installed add-on, CS-Cart saved empty multiple-choice settings with an empty selected entry. The next admin page view now repairs them.
[1.0.2] - 2026-10-12
Section titled “[1.0.2] - 2026-10-12”- Consent log: the Granted categories column showed denied categories as blue labels that looked granted; it now lists only the granted categories (“Necessary” when everything optional was refused).
- The admin add-on icon is now 150×150, the size the add-ons list uses.
[1.0.1] - 2026-10-12
Section titled “[1.0.1] - 2026-10-12”Removed
Section titled “Removed”- Unused language files from the package.
[1.0.0] - 2026-10-12
Section titled “[1.0.0] - 2026-10-12”- Cookie banner in bar, box and popup layouts with Accept all, Reject all and Customize buttons of equal size and color; light, dark, theme-following and custom accent colors.
- Preference center with necessary, preferences, analytics and marketing categories, service lists, keyboard support, a floating “Cookie settings” button, a “Cookie settings links” block and
#cookie-settingslinks. - Server-side blocking of Google Analytics, Google Tag Manager, Google Ads, Meta Pixel, TikTok Pixel, Hotjar and Microsoft Clarity scripts, plus YouTube and Vimeo iframes with placeholders (“Load once”, “Always allow”); custom rules and manual
data-kv-consenttagging. - Google Consent Mode v2: default command as the first script of the page with all seven consent types, denied defaults for the EEA, UK and Switzerland, configurable default elsewhere,
wait_for_update,ads_data_redaction,url_passthrough, basic and advanced modes, updates andkv_consent_updatedataLayer events. - Meta Pixel (
fbq('consent')) and TikTok Pixel (grantConsent/revokeConsent) consent signals. - Consent log with anonymous consent ID, policy version, truncated IP, filters, totals, CSV export and retention period.
- Policy versioning that asks every visitor again; withdrawal removes known cookies and reloads the page.
- Public consent API:
window.kvConsent,kv:consent-readyandkv:consent-changedDOM events,fn_kv_cookie_consent_mode_has_consent()and thekv_cookie_consent_mode_get_servicesPHP hook. - Detection of the GDPR add-on cookie notice with one-click turn-off, restored on uninstall.
- Automatic alignment with Ecommerce Tracking Pro (
kv_ga4_ecommerce).