=== RISE2 Cookie Consent ===
Contributors: rise2studio
Tags: cookies, gdpr, cookie-consent, privacy, eprivacy, consent-mode
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
Stable tag: 2.3.1
License: GPLv2 or later

Powerful, standalone GDPR/ePrivacy cookie consent plugin with automatic script blocking, Google Consent Mode v2, consent analytics, and Croatian market support.

== Description ==

Self-hosted cookie consent management. No external services, no subscriptions, no API keys.

= Core Features =
* Automatic cookie scanning (50+ patterns) with scheduled re-scans
* Auto script & iframe blocker (60+ third-party services)
* Google Consent Mode v2 (cache-compatible)
* Privacy policy generator (EN/HR)
* Consent versioning — force re-consent on policy changes
* Analytics dashboard with Chart.js trends
* Croatian i18n + WPML/Polylang/TranslatePress support
* Import/Export settings as JSON
* 3 shortcodes for pages/posts
* Public JavaScript API

== Changelog ==

= 2.3.1 =
* Changed: Renamed the admin menu item to "R2 Cookie Consent" for easier identification in the wp-admin sidebar (no functional change).

= 2.2.0 =
* Added: Corner Style option in Banner & Design tab — choose between Rounded (default, current look) and Square (hard 0-radius) for the banner box, banner/settings-footer buttons, settings panel, and category cards.
* Added: Croatian translations for the new Corner Style UI (Stil kutova / Zaobljeni / Ravni + descriptions).
* Changed: Existing installs keep their current rounded look on upgrade — the new option defaults to "rounded" so nothing visually changes until an admin flips it.

= 2.1.3 =
* Added: Croatian (HR) translations for 60+ known cookie descriptions — descriptions now appear in the site's language (HR) instead of always showing English.
* Added: R2CC_I18n::translate_cookie_description() helper with wildcard pattern matching (_ga_*, _hj*, etc.).
* Changed: Frontend cookie table and admin cookie list now render translated descriptions at display-time. DB stays English as source of truth, so admin edits are preserved and easy to export/import across sites.

= 2.1.2 =
* Fixed: GTM container detection now auto-includes GA4 + Google Ads cookies.
* Fixed: Browser-based scan now uses one-time token to bypass auto-blocker so GTM/GA/Pixel tags can actually set cookies inside the scan iframe.
* Added: Extended known cookies DB with _gcl_*, FPGCLAW, FPGCLDC, FPGCLGB, FPID, FPLC, AEC.

= 2.1.1 =
* Security: Scanner bypass (?r2cc_scan) now requires one-time token.
* Security: Explicit sslverify on scanner HTTP requests.
* Security: Scanner API key excluded from settings export.
* Fixed: wp_unslash() on $_SERVER values in consent logger.

= 2.1.0 =
* New: Headless Browser Cookie Scanner — deep scan via R2 Cookie Scanner service.
* New: Reset All Cookies button.
* Fixed: Scanner false positives (exact plugin slug matching, script-only regex).

= 2.0.11 =
* Changed: Check for updates link moved to action links row (next to Deactivate).
* Added: Success notice after manual update check.

= 2.0.10 =
* Updated PHP requirement to 8.0
* Updated WordPress requirement to 6.0
* Modernized strpos()/substr() calls to PHP 8.0 string functions
* Added PHP/WordPress version gate on activation
* Fixed unescaped admin_url() in action links
* Used wp_date() instead of date() for timezone consistency

= 2.0.7 =
* Fixed: Accept All / Reject All in settings modal now visibly flips toggles with a pulse animation before the modal fades out (900ms delay + fade transition)
* Fixed: Duplicate cookie entries in database from repeated scans — auto-deduplicated on upgrade
* Improved: Settings modal closes with a smooth scale-down + fade-out animation instead of instant disappear

= 2.0.6 =
* Fixed: Cookie settings modal toggles now reflect saved consent state when reopened via floating cookie button
* Fixed: Chart.js race condition — declared as WP script dependency with fallback dynamic loader

= 2.0.5 =
* Fixed: "Accept Necessary" label stuck in database now force-updated to "Reject All" on upgrade
* Fixed: Modal toggle sync visible — Accept/Reject All from modal now shows toggles flipping before closing (600ms delay)
* Fixed: Browser scan PHP critical error — known cookies DB format mismatch resolved
* Fixed: Chart.js now properly enqueued via WordPress on dashboard tab (was failing to load from CDN)
* Fixed: Cache automatically purged on plugin upgrade (WP Rocket, W3TC, LiteSpeed, WP Super Cache)
* Improved: Known cookies database expanded to 50+ patterns (GA, FB, Hotjar, HubSpot, LinkedIn, TikTok, Bing, Matomo, etc.)
* Improved: Chart.js fallback with error message if CDN blocked

= 2.0.4 =
* New: Hybrid cookie scanner — browser-based detection via hidden iframe catches real cookies
* Fixed: Form plugins (CF7, WPForms, Gravity Forms) now detected individually with correct cookies
* Changed: Scanner results table shows Source column (Server/Browser)
* Unknown cookies from browser scan flagged for review in Cookies tab

= 2.0.3 =
* Fixed: Admin-only cookies (wordpress_logged_in, wp-settings, comment_author, yoast-seo, etc.) now automatically purged from cookie database on update
* Added: Version-based upgrade routine — runs cleanup once per version bump

= 2.0.2 =
* Fixed: Accept All / Reject All now visually sync toggle switches in settings panel
* Fixed: Duplicate identical consent actions no longer logged to database
* Consent cookie is always updated, but server log is skipped when categories and type are unchanged

= 2.0.1 =
* Fixed: Settings tabs no longer reset colors when saving other tabs
* Fixed: Modal scrollbar styling for dark theme
* Fixed: Category expand/collapse clipping in settings panel
* Changed: Button order — Cookie Settings, Reject All, Accept All
* Changed: Removed admin-only cookies from scanner (wordpress_logged_in, wp-settings, yoast-seo, etc.)
* Added: Plugin's own consent cookies (r2cc_consent, r2cc_consent_uid) auto-detected by scanner

= 2.0.0 =
* Auto script & iframe blocker (60+ services)
* Consent analytics dashboard
* Shortcodes: settings button, cookie table, consent status
* Consent version bump (force re-consent)
* Import/Export settings JSON
* Scheduled cookie re-scan via WP-Cron
* Email notifications for new cookies
* Cache-compatible GCM

= 1.0.0 =
* Initial release
