=== Complianz - GDPR/CCPA Cookie Consent ===
Contributors: RogierLankhorst, aahulsebos, leonwimmenhoeve, paapst, markwolters, tomeijkelenkamp, hesseldejong, mujuonly, xantek, pierrotevrard, samu-dn, jarnovos
Donate link: https://paypal.me/complianz
Tags: GDPR, Cookie, Cookie Notice, DSGVO, CPRA, Consent, RGPD, LGPD, Privacy, PIPEDA, Cookie Policy, Opt-in
Requires at least: 4.9
License: GPL2
Requires PHP: 7.2
Tested up to: 6.1
Stable tag: 6.3.5

Configure your Cookie Notice, Cookie Consent and Cookie Policy with our Wizard and Cookie Scan. Supports GDPR, DSGVO, TTDSG, LGPD, POPIA, RGPD, CCPA/CPRA and PIPEDA.

== Description ==
Complianz is a GDPR/CCPA Cookie Consent plugin that supports GDPR, ePrivacy, DSGVO, TTDSG, LGPD, POPIA, APA, RGPD, CCPA/CPRA and PIPEDA with a conditional Cookie Notice and customized Cookie Policy based on the results of the built-in Cookie Scan.

https://www.youtube.com/watch?v=JJzOzNAd5Bw&ab_channel=ReallySimplePlugins

== Features ==

= Cookie Consent Notice =

* Configure a Cookie Notice for your specific region: European Union, United Kingdom, United States, Australia, South Africa, Brazil or Canada. Or use one Cookie Notice worldwide.
* Configure specific cookie consent per subregion, for example: European Union + TTDSG/DSGVO/CNIL or USA + specific states for CCPA/CPRA/CTDPA etc
* Cookie Consent and Conditional Cookie Notice with Custom CSS and Customizable Templates. WCAG Level AA and ADA Compliant.
* Banner Templates include: GDPR-friendly Cookie Wall - Accept/Dismiss - Consent per Category - Consent per Service
* Banner Templates also include; Dismiss on scroll, time on page or both based on legislation
* Cookie Banners and Legal Documents conform to WCAG 2.1 AA Accessibility Guidelines and ADA Compliance.
* No jQuery Dependency

= Consent Management =

* Automatically configures you website based on wizard questions, WordPress scans and dedicated service and plugin integrations.
* Blocks 3rd party cookies like Google Maps, Facebook, Instagram, AdSense, Hubspot, Recaptcha, Twitter, ActiveCampaign, and many more.
* Custom integrations for plugins, themes and services are automatically detected. 
* Blocks iFrames, like YouTube, Vimeo, Dailymotion embedded videos and Social iFrames e.g. Instagram, Facebook et al.
* Shows placeholders for blocked iFrames. Stills from videos and individual placeholders per (social) service.
* Script Center to control scripts, iFrames and plugins per category or service. With dependency functionality and placeholders.
* Proof of Consent: User consent registration that respects the GDPR data minimization guideline.
* Periodical Cookie Scan for changes in Cookies, Plugins and 3rd Party services. 
* Automatically detects if you need a Cookie Notice (also called a Cookie Banner or Pop-Up).
* Automatically anonymizes personal data for integrated statistics tools if needed.

= Privacy Laws & Guidelines =

* Ready for GDPR, ePrivacy AVG, RGPD, LGPD, DSGVO, CNIL, PECR, UK DPA, UK GDPR, CCPA, COPPA, PIPEDA, CASL, POPIA, Privacy Act 1988, Australian Privacy Principles, The “Marco Civil” and the Brazilian General Data Protection Law.
* Differentiate between GDPR, ePrivacy and DSGVO/CNIL or between CCPA/DNSMPI and NRS 603A, if needed.
* We closely follow the latest developments in the ePrivacy regulation, the proposed Cookie Law for the European Union, and other legislation world-wide.

= Legal Documents =

* A Cookie Policy; Generated by you with an easy wizard, drafted by an IT Law Firm.
* Do Not Sell My Personal Information: DNSMPI Page for CCPA/CPRA - if required. (Now called Opt-out Preferences.)
* Terms and Conditions are available in a separate plugin: [Complianz – Terms and Conditions](https://wordpress.org/plugins/complianz-terms-conditions/)

= Integrations =

* Detected Cookie Data is prefilled from cookiedatabase.org, with clear and transparent cookie descriptions, which are continuously updated.
* Integrated with WordPress Privacy features. Export and erase personal data from our dashboard.
* Implementation of Google Tag Manager, Google Analytics, Matomo, Matomo Tag Manager, Clicky, Yandex, Jetpack and Burst Statistics
* Categorize your Cookies with Tag Manager or our Script Center, if needed.
* Integration with the [WP Consent API](https://wpconsentapi.org/)

* Integrates seamlessly with Gutenberg, Elementor, Divi, Forminator, WPBakery, Monsterinsights, GADWP, Beehive, WPForms, Gravity Forms, HappyForms, Contact Form 7 <5.4 (CF7), Woocommerce, Easy Digital Downloads, WP Google Maps, Google Maps Widget, Local Google Fonts, CAOS | Host Google Analytics Locally and other popular plugins.
* Tested with popular themes en page builders.
* Gutenberg Blocks enabled.

== Support ==

Complianz offers full support on the WordPress.org [Forum](https://wordpress.org/support/plugin/complianz-gdpr/). Before starting a new thread, please check available documentation and other support threads. Leave a clear and concise description of your issue, and we will respond as soon as possible.

== Useful Links ==

* [Support Forum](https://wordpress.org/support/plugin/complianz-gdpr/)
* [Github](https://github.com/Really-Simple-Plugins/complianz-gdpr/)
* [MU Plugins](https://github.com/Really-Simple-Plugins/complianz-integrations)
* [Documentation](https://complianz.io/docs/)
* [Developer's Guide](https://complianz.io/developers-guide-for-third-party-integrations/)
* [Wizard Manual](https://complianz.io/manual/)
* [Legal Definitions](https://complianz.io/definitions/)
* [Translate Complianz](https://translate.wordpress.org/projects/wp-plugins/complianz-gdpr/)

== Premium Features ==

Complianz offers a Full Privacy Suite for WordPress on [Complianz.io](https://complianz.io) with even more features:

= Cookie Consent Notice =

* Improve conversion with A/B Testing: which cookie banner has the best consent ratio? Run tests and measure what works best for your site.

= Consent Management =

* Records of Consent: Keep record of your consent management changes and user's consent registration. Integrates with Proof of Consent
* Respects the Do Not Track settings and Global Privacy Controls in end-users browsers.
* Geo IP Cookie Consent: Cookie Consent is different everywhere. Show the correct Cookie Notice based on IP location, but only if a banner is needed.
* Google Consent Mode - Use Consent Mode by Google with Google Tag Manager or Google Analytics. No further set-up needed.
* Integration with TCF v2.0. An IAB Europe Consent Framework for Publishers. Registered CMP ID: 332
* Data Request Forms and Registration


= Privacy Laws & Guidelines =

Simultaneously select USA, Canada, United Kingdom, Australie, South Africa, Brazil and the EU as targeted regions with conditional Consent and dedicated Cookie Banners.

* Support for GDPR / ePrivacy - European Union with Extension for Switzerland.
* Support for USA / CCPA/CPRA/CPA/CTDPA/NRS 603A/UCPA/CDPA
* Support for UK-GDPR / PECR and ICO Guidelines - United Kingdom.
* Support for PIPEDA and CASL - Canada.
* Support for Privacy Act 1988 & Australian Privacy Principles
* Support for POPIA, the South African Protection of Personal Information Act
* Supports The “Marco Civil” and the Brazilian General Data Protection Law (LGPD)

= Legal Documents =

* Privacy statements (EU, CA, UK, AU, ZA, BR & USA). 
* Cookie policy (EU, UK, CA, AU, ZA, BR & USA).
* Impressum (Germany & Austria) & Imprint for world wide use.
* Disclaimer
* Terms & Conditions Integration
* Processing agreements (EU, UK, CA, AU, ZA, BR & USA). 
* Dataleak reporting tools (EU, UK, CA, AU, ZA, BR & USA). 
* Supports CCPA Consent and Legal documents.
* COPPA ready with Children's Privacy Policy (USA)
* Children's Privacy Policy (UK,CA & AU)

= Support & Updates =

* Premium Support from our amazing team.
* Premium updates, new languages, features, regions and more to create the Ultimate Privacy Suite for WordPress.

== About Complianz ==

Check out other plugins developed by Really Simple Plugins as well: [Really Simple SSL](https://wordpress.org/plugins/really-simple-ssl/)

Complianz is on [GitHub](https://github.com/Really-Simple-Plugins/complianz-gdpr) as well!

IMPORTANT! Complianz | GDPR/CCPA Cookie Consent can help you meet compliance requirements, but the user must ensure that all requirements are met.
Complianz needs to connect with Cookiedatabase.org to collect and synchronize with the most recent descriptions for cookies and related services. This will ensure that your cookie policy always contains the most up to date cookie descriptions. Cookiedatabase.org is being operated by Complianz BV and the offered service can be used for free within our plugin under the following [Terms of Use](https://creativecommons.org/licenses/by-nc-nd/4.0/).

[Contact](https://complianz.io/support/) us if you have any questions, issues, or suggestions. Complianz | GDPR/CCPA Cookie Consent is developed by [Complianz B.V.](https://complianz.io). Leave your feature requests [here]().

== Installation ==
* Go to “Plugins” in your WordPress Dashboard, and click “Add new”.
* Click “Upload”, and select the downloaded zip file.
* Activate your new plugin.
* Use our tour to get familar with Complianz.

== Frequently Asked Questions ==
= Knowledgebase =
Complianz maintains a continuously growing knowledgebase about GDPR, including subregions e.g. DSGVO and CNIL, CCPA, PIPEDA, COPPA, POPIA & other specific laws on [complianz.io](https://complianz.io)

= Is my website GDPR, COPPA, CCPA, DSGVO, TTDSG, AVG, CNIL, UK-GDPR, PECR, CASL, LGPD, POPIA and/or PIPEDA compliant with this plugin? =
We cannot guarantee compliance for your website. A correct configuration of this plugin by a website administrator is always required. 
= When do I need a Cookie Notice? =
Complianz | GDPR/CCPA Cookie Consent will determine this automatically based on the laws of the region or regions, where most of your visitors come from. 
Regarding CCPA/CPRA, you always have to show which cookies you are using but there's no obligation in asking consent.
= Do I always need a consent checkbox on contact forms? =
Not always. The Complianz Privacy Suite Premium plugin can determine if you need this, based on your answers in the wizard. It mainly depends on the type of information and the reason why your visitor use the contact form.
= What is the GDPR? =
The GDPR is a regulation within the EU law on privacy and data protection for any citizen within the EU and European Economic Area. It aims primarily on giving control to individuals over their personal data. The GDPR also addresses the export of personal data outside the EU.
= What is the CCPA? =
The CCPA (Californian Privacy Act) is a law set up by the Californian government. The law is adjudged to be one of the toughest and farthest-reaching consumer privacy laws in the US. It is mostly focused on giving insights on what personal data business gather and how to protect and control these personal data.
= What is COPPA? =
The Children’s Online Privacy Protection Act (COPPA) is a law designed to protect the online privacy of children under 13. It was set up in the 1990's and states that website owners have to meet certain requirements regarding visitors with the age under 13.
= What are PECR & UK-GDPR? =
PECR (UK) covers the use of cookies and similar technologies for storing information and accessing information stored, on a user’s equipment such as a computer or mobile device.
= What are the Privacy Act 1988 & Australian Privacy Principles =
To comply with the Australian privacy laws a website operator should present a cookie policy and/or a privacy notice before or, if that is not practicable, as soon as practicable after, your website collects personal information about an individual.
= What are PIPEDA & CASL? =
Canada’s Anti-Spam Legislation (CASL) and Personal Information Protection and Electronic Documents Act (PIPEDA) require a website operator to obtain consent, either implied or express consent with a dedicated cookie statement.
= What POPIA (POPI Act)? =
POPIA is the acronym for the South African PROTECTION OF PERSONAL INFORMATION ACT. Similar to the GDPR, the UK-GDPR, and the Brasilian LGPD, it promotes the protection of personal information processed by public and private bodies, regulates the cross-border flow of personal information, and outlines the rights of data subjects.
= What are “Marco Civil” and the Brazilian General Data Protection Law (LGPD)? =
The Brazilian General Data Protection Law is similar to the GDPR, the UK-GDPR it promotes the protection of personal information processed by public and private bodies, regulates the cross-border flow of personal information, and outlines the rights of data subjects. The Marco Civil is the Brazilian name of the Brazilian Civil Rights Framework for the Internet a counterpart to European's "ePrivacy", although not similar.
= Can I create a Cookie Wall with this plugin? =
With some custom CSS this is possible, but we do not consider a cookie wall to be GDPR compliant, so it's not actively supported. We do, however, have the option to create a Soft Cookie Wall. Which blocks interaction with the website, but dismissing remains a possibility.

== Changelog ==
= 6.3.5 =
* Fix: Change legal document page name on generate, not only on update
* Fix: remove error_log in proof of consent
* Fix: prevent duplicate document status field when Terms & conditions is activated
* Fix: re-enable caching for cookie list when cookie shredder is enabled, props @mkarena
* Fix: uses_statistics function now also checks if vimeo is used, which is a service using statistics cookies
* Improvement: drop Mappress integration, as Mappress has implemented the integration on their end
* Improvement: Extended Google Fonts support
* Improvement: Explicitly let users enable the cookie banner and cookie blocker
* Improvement: allow for linebreak in blocked scripts, which fixes ExactMetrics integration
* Improvement: when checkbox is inserted in Gravity Forms, but the wizard is not completed yet, the privacy statement url will now be updated on the last step of the wizard
* WCAG: don't add cookie banner html to cookie policy page, to prevent duplicate id issues
* WCAG: add labels with screen-reader-text class instead of hiding them with display:none, props @sophieweb
* New: Uncode maps integration
* New: YotuWP integration

= 6.3.4 =
* New: Google Maps colibri integration
* New: WP Google Maps OpenLayers Integration
* New: Content Views Plugin integration to allow for ajax loaded content
* New: ActiveCampaign
* Improvement: some optimizations to make the cookie shredder perform better
* Improvement: extend translation options for cookies that are not synced with cookiedatabase when using polylang
* Improvement: use custom thrive hook in certain custom thrive implementations
* Improvement: also copy 'owndomain' property when creating a cookie in a new language
* Improvement: regenerate proof of consent pdf on plugin update
* Improvement: do not offer checkbox on cookie policy for Google Fonts
* Improvement: extend Matomo Tag Manager integration
* Improvement: for created directories, set permissions default to 755
* Improvement: add filter cmplz_banner_html to manage consent area as well, to offer consistent editing of the html
* Improvement: also change banner status with custom revoke button on status change
* Improvement: force redirect in firefox to reload with full consent withdrawal, as firefox seems to cache loaded scripts
* Improvement: bundle integration activation notices
* Improvement: Updated Google Maps Easy integration
* Fix: escape translation file string in case of personalized ads option, props @saggre
* Fix: Incorrect sorting of Proof of Consent files prevented them from showing up in the list
* Fix: update qTranslate integration to allow for banner fields with $field['text'] strings, props @sviluppomania
* Fix: cookie policy UK not replacing the cookiedatabase.org link because of too many arguments in sprintf

= 6.3.3 =
* Improvement: conditionally offer link to create menu page
* Improvement: remove unnecessary translatable strings from policy UK and AU
* Improvement: remove unnecessary slash in matomo script
* Improvement: email obfuscation when line break in the email prevented reversal of email
* Improvement: block activation of plugin below php version 7.2
* Improvement: dynamically adjust banner text based on advertising settings
* Improvement: no script tags when there's no actual script to add for statistics
* New: WordPress store locator integration
* New: Presto Player integration
* Fix: changes in manage consent button option causing issue in AMP integration, props @tarbyonline
* Fix: document options in region redirect menu not correctly filtered
* Fix: prevent error in system status when wizard not started yet
* Fix: NOT EMPTY condition on imprint statement
* Fix: no javascript error report unless script debug enabled
* Fix: update qTranslate integration to allow for banner fields with $field['text'] strings, props @sviluppomania
* Fix: cookie policy UK not replacing the cookiedatabase.org link because of too many arguments in sprintf

= 6.3.2.1 =
* Fix: catch empty array during cookie list generation for cookie shredder/consent per service
* Fix: shortcode pattern for Gutenberg shortcode recognition didn't include first character
* Fix: "NOT EMPTY" condition wasn't validated correctly, props @anil-sardemann

= 6.3.2 =
* Improvement: some small dashboard changes
* Improvement: Prevent duplicate cookies in consent per service array
* Improvement: caching improvements
* Improvement: sharing of data multicheckbox with "more options" button
* Improvement: stricter shortcode pattern for gutenberg prevents non intentional redirect to english version when shortcode contains custom class with 'us' string, props @sami54000
* Improvement: stricter regex pattern for youtube in elementor, preventing issues when video is self hosted, props @hatchjaw
* Improvement: extend custom css examples
* Improvement: catch situation where user selects that social media are used, but does not select any social media
* Improvement: drop defer from matomo js, as it is deprecated in favor of async
* Fix: changes in manage consent button option causing issue in AMP integration, props @tarbyonline
* Fix: typo in cookie policy
* Fix: Woocommerce analytics integration icw Stripe, props @xbaeza
* Fix: string change: for placeholders, you can now use a DIV class or an ID

= 6.3.1 =
* Improvement: Catch php 5.6 error for geo ip
* Improvement: space after missing p tag removed
* Improvement: Consent per Service banner reappearing when making changes in service consent on the cookie policy
* Improvement: Burst integration not compatible with caching/defer
* Improvement: option to override the region by passing a parameter in the URL.
* Improvement: UK legal docs text improvements

= 6.3.0 =
* Improvement: United States update
* Improvement: added filter cmplz_detected_cookies to enable directly adding cookies to detection
* Improvement: add languages by qTranslate to languages list for cookie translations, props @pmoh
* Improvement: more options for the manage consent button
* Improvement: updated Brazilian contact information ANPD
* Improvement: date localization in cmplz_localize_date function props @leoay
* Improvement: preserve uppercase in service names
* Improvement: disable autoload for back-end options, lowering front-end memory usage
* Improvement: PHP 8.1 compatibility
* Improvement: Ghostery conflict in cookie banner editor
* Improvement: Skip statistics wizard step when no statistics selected
* Improvement: Drop AW script after switch from google-analytics to other statistics tool
* New: add div placeholder by id, not just class
* New: Twitch integration
* Fix: cmplz-revoke-link shortcode not working due to changed classes, props @rana-rene
* Fix: minification error due to minifier stripping of '%', props @wpjamg
* Fix: clear pdf generation tmp directory after usage, props @kernvy
* Fix: [video] shortcode integration compatibility with Bold Builder + primavera
* New: updated minimum PHP version to 7.2

= 6.2.4 =
* Improvement: Get ready for cookieless tracking in Burst Statistics/Analytics
* Improvement: shepherd css class
* Improvement: move ace to vendor dir, to prevent translation scan, props @tobifjellner
* Improvement: No data requests notice if no datarequests available
* Improvement: Elementor video playlist integration
* Improvement: less option updates in integrations
* Improvement: new filter for compatibility with qTranslate
* Improvement: drop text/javascript from scripts, as it is default
* Improvement: no defer on inline scripts, props @Lofesa

= 6.2.0 =
* New: Beaver Builder Power Pack
* New: Superfly integration
* Improvement: Support for Switzerland
* Improvement: change A tag of close button in banner to div, for WCAG
* Improvement: add maps.google.de to blocklist
* Improvement: wp bakery front end editor exclude cookie banner
* Fix: Guide skips steps
* Fix: Livetube fatal error props @ltglobal
* Fix: British word changed to US default
* Fix: php error php 8 when generating POC
* Fix: Compatibility with Menu Block editor for legal pages
* Fix: FitVids not activating on category_enabled hook, props @goretex34

= 6.1.6.1 =
* Fix: usage of dropped constants in GTM4WP causing fatal error, props @shecky

= 6.1.6 =
* Fix: elementor fix for inline css, matching regex made more specific
* Fix: catch serialized string in PolyLang
* Fix: allow string translations in Polylang, except for purposes. Prevent syncing translatable strings across languages. props @bosendorfer
* New: WP adverts Google Maps integration, props @titusb
* Improvement: Advanced Ads Integration
* Improvement: prevent weird Avada bug triggering save_post hook on front-end, causing issues with Woocommerce PayPal integration, causing order key stripped
* Improvement: elementor fix for inline css, matching regex made more specific
* Improvement: extend is_pagebuilder_preview function with more Elementor $_GET variables
* Improvement: change vimeo purpose to statistics, props @alfi_-1
* Improvement: Facebook Video Embed Elementor integration
* Improvement: Exclude WooCommerce products from scan, preventing large nr of not relevant cookies to get detected, props @dwnl
* Improvement: AMP default hidden in inline amp css
* Improvement: add support for legacy WordPress Video shortcode, still used in siteorigin pagebuilder, props @stclaus

= 6.1.5 =
* Fix: 'NOT' condition not loading correctly, props @rickvanleeuwen

= 6.1.4 =
* Improvement: integration which fixes bug in Thrive theme which removes other plugin's inline css
* Improvement: Use category as fallback for service consent
* Improvement: legal update to imprint/impressum
* Improvement: adjustments to EU configuration to allow for Switzerland as region
* Improvement: add Burst Statistics to suggested plugins for privacy friendly statistics
* Improvement: improve caching mechanism to ensure that on even for persistent cached database queries, these get updated when necessary
* Improvement: new event for integrations 'cmplz_status_change_service'
* Improvement: when checking callback function, also check for prefix
* Improvement: user registration pro
* Fix: reCaptcha integration in combination with consent per service, props @esby
* Fix: Burst Statistics integration could cause duplicate hits in some situations
* Fix: Placeholders for Elementor Facebook and Twitter widget, and allow for Consent Per Service
* Fix: Consent per service icw Elementor Youtube implementation
* Fix: US revoke statistics with forceEnableStats
* Fix: drop Elementor Pro Cookie Banner support
* Fix: drop aria-checked=true for input type=checkbox, props @lofesa
* Fix: Uncaught TypeError: service is null when Elementor integration used in combination with Cookie Shredder/consent per service
* Fix: duplicate id in back-end radio field

= 6.1.3 =
* Fix: Consent Mode consenting to marketing when preferences was accepted
* Fix: Burst Statistics integration triggering twice

= 6.1.2 =
* New: Matomo Tag Manager / WP Piwik
* Improvement: editable "I Agree" button for consent per service/Cookie Shredder
* Improvement: cache get and cache set on database queries on the cookie policy and cookie shredder, removing duplicate queries, props David
* Improvement: export banner settings option
* Improvement: remove space after empty text, causing unnecessary paragraphs
* Improvement: use close button with enter, props @benqwerty
* Improvement: limit banner image size to banner editor only, props @bkwineper
* Improvement: lazy load integration for WP Rocket and LazyLoader plugin, props @Lofesa
* Improvement: change divs in banner to spans, props @kbelimpassakis
* Improvement: move inline css to head, props @kbelimpassakis
* Improvement: lock css file on css generation in banner
* Improvement: clean up blocked scripts after activation, props @puregraphx
* Improvement: run load_plugin_textdomain for Loco Translate compatibility props @peterforensys
* Improvement: upgrade tables for older versions
* Fix: Woocommerce Google Analytics - Enhanced Ecommerce integration
* Fix: localhost reference in default css, props @toxicum
* Fix: saving of border radius of 0 in cookie banner
* Fix: save/enable on integrations slider
* Fix: dismiss Elementor pro activated notice
* Fix: fixed accidentally re-activating deactivated services on cookiedatabase.org sync

= 6.1.0.1 =
* Fix: Recaptcha integration issue, props @delanthear @peopleinside @soydelia for reporting the issue

= 6.1.0 =
* New: Consent per Service in combination with CookieShredder.
* New: Matomo cookieless tracking
* CSS: simplify scrollbar in dashboard css
* CSS: drop overflow: auto on header
* CSS: drop min-width 300px below 350px
* CSS: set bottom banner to bottom on mobile as well
* CSS: padding on links in legal pages
* CSS: override theme flex property on buttons in banner
* Improvement: hide not required fields if no documents are selected, props @paaljoachim
* Improvement: allow for time zone offset when saving consent in records of consent
* Improvement: keep categories in sync https://github.com/Really-Simple-Plugins/complianz-gdpr/issues/324 props @antonellon
* Improvement: Link to permalink settings when notice is shown
* Improvement: DNT feedback string improved
* Improvement: drop fieldname class from fields in settings page, to prevent conflicts
* Improvement: CloudFlare CFCustom geo ip option
* Improvement: new options for GEO ip
* Improvement: allow saving of empty script center blocks
* Improvement: on switch to TCF banner, regenerate the banner css
* Improvement: obfuscate email address also with css
* Improvement: remove condition on categories settings in cookie banner setting, to allow for manage consent area configuration in cookie policy
* Improvement: catch Tatsu pagebuilder preview
* Improvement: auto enable GEO ip if records of consent enabled
* Improvement: disable hide cookiebanner option on legal pages
* Improvement: added font size option
* Improvement: responsiveness wizard
* Improvement: cookiebanner required feedback
* Improvement: new option to disable width auto correction
* Improvement: ratio option for placeholders on openstreetmap
* Improvement: drop title element from svg in banner, props @alexbosch
* Improvement: p elements on all paragraphs in legal documents
* Improvement: added Flexible Maps integration
* Improvement: add toggle to hide the legal document links on the banner
* Fix: Novo Maps integration
* Fix: domains with 'type' in the url could not load the css file props @nimdaweb
* Fix: catch not set enable dependency key
* Fix: preview cookiebanner not always correctly updated.
* Fix: paging in integrations
* Fix: remove <title> tag from close button. props @doubleyourbrand
* Fix: only reload on a deny action if marketing was accepted props @dasisdormax
* Fix: allow mappress en google maps enabled at the same time
* Fix: allow quotes in custom css
* Fix: export filtered dataset from Records of Consent
* Fix: in cmplz_fire_categories, declare event as local variable, fixing theme conflicts with global declared variables props @jrt341 and @skydivider
* Fix: fix revert to defaults for text_checkbox booleans @puregraphx
* Fix: Due to change from google-analytics.js to gtag.js, anonymizeIp has changed to anonymize_ip, props @ccalislar35
* Fix: On sync, include services without cookies, even if completed

= 6.0.7 =
* Changed database upgrade order
* Improvement: catch Tatsu pagebuilder preview
* Fix: only reload on a deny action if marketing was accepted props @dasisdormax
* Fix: allow mappress en google maps enabled at the same time
* Fix: allow quotes in custom css
* Improvement: allow saving of empty script center blocks
* Improvement: obfuscate email address also with css
* Improvement: remove condition on categories settings in cookie banner setting, to allow for manage consent area configuration in cookie policy

= 6.0.6 =
* Bumped tested up to

= 6.0.5 =
* Improvement: auto enable migrate.js when upgrading from <6 to 6.0 and up

= 6.0.4 =
* Fix: allow for configuration which could cause empty buttons.
* Fix: anonymous statistics description toggle showing when field is disabled props @kaznim, @puregraphx.

= 6.0.3 =
* Improvement: when some updates were skipped, old varchar columns could cause row size too large issues, causing banner settings not to get saved.
* Improvement: if obsolete categories type 'hidden' still was in use, force override to 'view-preferences'
* Improvement: fallback to default css if custom generated css wasn't available due to file write permissions or skipped upgrade
* Fix: When text fields are empty, like the deny button, fallback to default value.

= 6.0.2 =
* Fix: catch double upgrade issues

= 6.0.1 =
* CSS: to prevent theme css conflicts, reset values for: display block op label:after, summary, line-height buttons, margin on manage consent button
* Fix: catch PHP 8.1 errors
* Improvement: catch not writable uploads folder
* Fix: auto adjust banner width code "walking"
* Improvement: allow custom privacy statement and impressum documents on banner in free version
* Fix: auto adjust banner width code "walking"
* Fix: hidden category type enabled on wizard changes
* Fix: unescape texts in banner links

= 6.0.0 =
* Important: Cookie Banner has changed significantly. Please check your Cookie Banner after updating.
* Improvement: allow both consent per category and consent per service on the custom consent area shortcode
* Improvement: show summary of detected cookies instead of full list on the scan page
* Improvement: new Script Center, with option to add dependencies and placeholders
* Improvement: complete rewrite of the cookiebanner code, faster, modular, easily customizable.
* Improvement: removed jquery as dependency from the cookiebanner javascript
* Improvement: auto consent for visits from bots
* Improvement: allow both consent per category and consent per service on the custom consent area shortcode
* Improvement: show summary of detected cookies instead of full list on the scan page
* Improvement: drop h1 and h2 from banner to prevent styling issues with styles from overriding themes
* Improvement: Oxygen builder support
* Improvement: add more info to system status
* Improvement: Gtag does not need anonymize ip, as this is the default
* Improvement: company country in impressum
* Improvement: cache queries for front-end to prevent duplicate queries
* Fix: update Pixel your site integration to 6.0 structure
* Fix: link for white listing documentation, props @scheinercc
* Fix: Open StreetMaps / OSM plugin integration
* Fix: updated all statistics integrations
* Fix: WP Google Maps integration
* Fix: statistics consent when the questions "do you want to ask consent for statistics" has been answered with yes
* Fix: new array structure for cookiebanner settings causing error with translations.
* Fix: catastrophic backtracking with regex on iframes that do not contain a URL, props @ajoah https://github.com/Really-Simple-Plugins/complianz-gdpr/issues/320
* Fix: WP Google Maps integration
* Fix: statistics consent when the questions "do you want to ask consent for statistics" has been answered with yes
* Fix: cmplz-document class on body when soft cookie wall was enabled
* Fix: {url} links detected by automatic tools
* Fix: css fix: limit category classes to banner only
* Fix: separate cookies with same name and different services in cookie list (Facebook/Instagram)

= 5.5.2 =
* Fix: regex pattern in placeholder code should allow for linebreaks props @ajoah
* Fix: on multisite, when the settings "set cookies on root" is used, the rt prefix should not be used.
* Fix: duplicate word "telephone" in Impressum/Imprint
* Fix: load google analytics also when banner is not required

= 5.5.1 =
* Fix: auto update disabled for other plugins

= 5.5.0 =
* New: Placeholder themes and customization options
* New: Google Consent Mode for Google Tag Manager and GTAG.js
* Improvement: Animate task dismissal
* Improvement: Cookiedatabase optin to optout
* Improvement: prepare update notice for 6.0
* Improvement: new filter 'cmplz_cookiescan_post_types' for posttypes in cookiescan
* Improvement: sharing of data section from different regions merged
* Improvement: line break in legal documents after publish/checked date
* Fix: Terms & Conditions recommendation not showing
* Fix: automatic redirect to English for native English docs

= 5.4.0 =
* New: Brazil
* New: WP Store locator maps integration
* Improvement: some string changes
* Improvement: save feedback
* New: WCAG option on the admin
* New: cmplz_choice cookie also available without a/b testing or records of consent
* Fix: restore youtube-nocookie url to be recognized as URL for YouTube placeholders
* Fix: allow marketing cookies on accept deny, props @klous-1

= 5.3.0.1 =
* Fix: anonymizeip double quote in gtag.js

= 5.3.0 =
* Improvement: textual changes in cookie policy
* Improvement: save selected setting in localstorage for dropdowns in dashboard
* Improvement: change retention into expiration
* Improvement: better privacy policy link description for Complianz
* Improvement: privacy friendly analytics feedback in DE
* Improvement: samesite and secure cookies for Google Analytics and gtag.js
* Improvement: daily check for free translation files, and admin notice if free is not deleted
* Improvement: notice about conflicting cookie banner plugins
* Improvement: append banner to end of body element, to improve LCP
* Improvement: linkedin placeholder
* Fix: no integration notice when WP Google Maps active
* Fix: GTM categories not included in A/B tests
* Fix: extend core WP privacy annex
* Improvement: correct Elementor css causing styling issues on Complianz pages.
* New: Imprint
* Fix: initialize the __tcfapi() and postmessage functionality
* Improvement: several changes to the way TCF is handled
* Improvement: do not autoload class with class_exists check in cmplz_uses_gutenberg() function props @knomepasi
* New: Meks Easy Maps
* Fix: keep cookie and service lists in sync across languages when new languages are added.
* Fix: on the root website of a multisite setup accept all did not enable statistics
* New: Avada integration

= 5.2.6 =
* Fix: Sync services in multilanguage environment
* Improvement: prevent naming conflicts with custom posttypes when region redirecting by adding a prefix
* Fix: consent area required a cookiename change on multisite environments because of rt_ cookie prefix

= 5.2.5 =
* Fix: placeholder detection used wrong key, resulting in default placeholder

= 5.2.4 =
* Fix: svn not picking up new version in tags folder

= 5.2.3 =
* Fix: text domain correction
* Fix: min-width upload button
* Fix: in subdirectory installations, the find_wordpress_basepath function could not find the wp installation, props @ianpegg
* Improvement: re-structured services detection
* Improvement: drop TGM integration
* Improvement: flags for multiple regions
* TCF/IAB: some changes to keep the banner and cookie policy compliant with the IAB requirements
* Improvement: enable auto updates

= 5.2.2 =
* Fix: When choosing anonymous statistics from a not supported statistics type, the wizard forced configuration by Complianz.

= 5.2.1 =
* Fix: arguments error in notice

= 5.2.0 =
* New: TikTok integration
* New: South Africa POPIA support
* Fix: On multisite, root/main site cookies get different prefix, to prevent browser from getting confused about cookies on root and subpaths.
* Fix: Monsterinsights integration causing two pageviews
* Fix: Restore ajax loaded content blocker option, which was not following the setting's input
* Improvement: reset padding bottom for iframes during blocked status where responsiveness is handled with a padding-bottom 56%.
* Improvement: Detect Google Maps integration, and show notice about possible solution
* Improvement: Disable ACF integration when any of the other Google Maps integrations is detected

= 5.1.0 =
* Fix: allow for German Ringel S in Google Maps addresses
* New: Privacy Act 1988 Australia
* Fix: miscelaneous cookies without information in another language defaulted to the wrong translation
* Improvement: changed "Analytical" to "statistical".
* Fix: terminology in US/CA documents "to citizens and legal permanent residents of" instead of "to citizens of"
* Fix: explicitly ask consent in some EU regions question restored
* New: Pixel your Site Pro - and Add-ons
* Fix: Sensitive data question conditions under Security & Consent

= 5.0.3 =
* Improvement: new purposes for EU/UK
* Improvement: switch consent area order in cookie policies
* Fix: Elementor integration after reload
* New: Variation swatches for Woocommerce integration
* Improvement: show "hide cookie banner" metabox only on public post types

= 5.0.2 =
* Improvement: switch consent area in cookie policies
* Fix: Elementor integration after reload
* New: Variation swatches for Woocommerce integration

= 5.0.1 =
* Fix: Exclude RSS feed from cookie blocker.
* CSS: save button to primary on license
* Improvement: tips & tricks not translatable
* Fix: CSS styles for cookies shortcode
* Fix: since 5.0 UK could not set the categories type separately
* Fix: preview of categories automatically hidden after timeout
* Fix: upgrade integrations notices to 5.0 style
* Improvement: when cookie banner isn't necessary, show "open" notice instead of "completed"
* Fix: on duplicate cookies cleanup, do not delete cookies when from different services
* Fix: Processing field for 'other' option, linked textfield wasn't shown when selected
* Fix: feedback on settings saved responsive and multilanguage proof
* Improvement: change varchar fields in cookiebanner table to text, to preven max rowsize warnings on some installations.

= 5.0.0 =
* New: Animations/Customizations for the Cookie Banner
* New: Integrations for 10+ plugins and services
* Improvement: User Interface
* Improvement: WCAG on policies
* Improvement: Adjustments for CNIL Guidelines
* Improvement: Elementor integration improved
* Improvement: Integration with Terms & Conditions

= 4.9.12 =
* Legal: ending delimiter in clicky recognition regex

= 4.9.11 =
* Legal: Do Not Sell My Personal information form moved up to top of policy in accordance with recent changes
* Fix: Elementor integration firing init, causing issues with hamburger menu
* New: Clicky integration
* New: feedback for AMP/no javascript
* Fix: lanuage when requesting over rest-api with polylang

= 4.9.10 =
* New: Novo Maps integration
* Improvement: pinterest blocklist extended
* Fix: not 100% in wizard because of CF7 notification, even when not applicable.

= 4.9.9 =
* Improvement: only show CF7 notice when recaptcha is active

= 4.9.8 =
* Improvement: Events Calendar integration
* Drop Contact Form 7 integration as of CF7 5.4, due to continuous breaking changes in CF7. Contact Form 7 should integrate with the WP Consent API instead.

= 4.9.7 =
* Improvement: cookie policy overview css for mobile
* Fix: Youtube in Elementor widget after Elementor update not blocking anymore

= 4.9.6 =
* Fix: Revoke on cookie policy with accept/deny banner
* Improvement: do not re-run marketing after consent
* Improvement: clear cookies after cookie policy id change. Resolves issues for WPML users with cookiepath issues
* Improvement: activate blocked images on consent
* Fix: prevent infinite loop in Canada region with certain configurations
* Improvement: limit number of requests by jquery error detection
* Improvement: Advanced Captcha reCaptcha updated to integrate with latest version
* Improvement: improved URL pattern in URL input field
* Improvement: changed Advanced Custom Fields detection from ACF to ACF_VERSION, as it seems another plugin or theme is using this same function/constant/class
* Improvement: improved method of keeping track of blocked content containers that were already set up, or activated.
* Improvement: TranslatePress compatibility
* Improvement: allow for space in Google Maps iframe embed URL
* Improvement: stricter matching for WooCommerce Google Analytics pro and WooCommerce Google Analytics Integration, preventing matching on other scripts

= 4.9.5 =
* JetPack integration
* Fix: disabling of integrations not working properly after theme support was added.
* Fix: short code for custom consent area not activating due to changes in the jquery events props samu-d.

= 4.9.4 =
* Fix: when configured with accept/deny, accept on blocked content container not working

= 4.9.3 =
* Fix: not storing consent correctly because the no_choice option was included in the categories list

= 4.9.2 =
* Improvement: Fn.resize shorthand is deprecated
* Improvement: pass language to ajax calls with two character language code
* New: Woocommerce Analytics Pro integration
* New: Citadela Directory integration
* Improvement: when new languages are added to a site (multilanguage setup) ensure each cookie is added in every new language
* Fix: on multisite environments cookies were set on language subdomains instead of root. This fix sets cookiepath to root for WPML and polylang

= 4.9.1 =
* Fix: on websites with wordpress installed in subdirectory, cookiepath was set incorrectly.

= 4.9.0 =
* Fix: use get_rest_url() instead of site_url for rest api calls
* WCAG: Do Not Sell My Personal information form WCAG improvements
* WCAG: fix button accessibility and div for Contact Form 7. props @juliemoynat-tanaguru
* Improvement: set default checkbox style to slider
* Improvement: Recaptcha v2 for CF7 CSS for better placeholder look
* WCAG: fix category checkbox square accessibility. props @juliemoynat-tanaguru
* New: support for plugin "Invisible recaptcha for WordPress"
* New: option to disable monthly automatic cookie scan
* New: Volocation integration
* New: Set cookie path based on site url. This allows for sites in subfolders to place cookies on the subfolder URL only
* Fix: typo in css class
* New: Gravity Forms recaptcha integration
* New: Advanced noCaptcha & invisible captcha integration
* New: Added status change event to be able to hook into consent actions from the user. E.g. a reload on consent action for plugins with server side consent management.
* New: MonsterInsights Enhanced ECommerce integration
* New: Generate Press theme integration
* Fix: Resource interpreted as Document but transferred with MIME type. Due to browsers expecting a html document as source, using mp4 as src placeholder caused unexpected behaviour.
* Fix: duplicate statistics tracking on anonymous statistics accept action fix not merged correctly in previous update
* Improvement: new method of ip detection added
* Fix: some strings for Canadian policies not translatable
* Fix: revoke marketing cookies if statistics still enabled, on configurations with non anonymous statistics
* Improvement: more context for email on updating legal documents each 12 months in US configurations props @gfields108
* Improvement: resolve jQuery Migrate notice "Global events are undocumented and deprecated" props @m266
* Improvement: change front-end admin-ajax.php calls into rest-api calls
* Improvement: Visual Composer front end editing exclude from the Cookie Blocker
* Improvement: PHP 8 compatibility
* New: Woocommerce analytics integration (free)

= 4.8.2 =
* Improvement: possibility to add both a marketing and an advertising cookies section
* Fix: prevent double firing of analytics icw native class on accept #926
* Improvement: analytics script in script center when running analytics from Complianz

= 4.8.1 =
* Fix: Shares data test returning false positive because of inverted script center script condition, props Michael
* Fix: Tag Manager script was incorrectly added when Google Tag Manager for WordPress plugin was used, props @imkane
* Fix: PHP warning when classes to insert contain two spaces. props @jadorwin
* Improvement: Revoke cookie consent string changed into Manage Consent
* Improvement: add Post Status for legal documents
* Improvement: remove quotes in WP Google Maps string to prevent German quotes issues
* Improvement: jquery error detection, skip error on line 0 as false positive, prevent overwriting error
* New: Nudgify integration
* New: you can now disable the cookieblocker by adding ?cmplz_safe_mode=1 to the URL

= 4.8.0 =
* Improvement: include stats when in safe mode
* Improvement: CSS style for invisible checkboxes to make them readable by screen readers. props @juliemoynat-tanaguru
* Improvement: Trust Pulse integration
* Fix: boolean comparison on 1 value for geo ip detection in javascript, causing the plugin to do an unnecessary call to the server.
* Fix: custom statistics script blocking
* Fix: allow for matching on relative URL's for script sources, props @onwk
* Improvement: skip translation of cookie properties when Polylang is enabled, as Polylang can't handle different fieldname contexts
* Improvement: banner bottom edgeless theme responsiveness, props @tim
* Improvement: Podcast Player integration, props @vedathemes, @uiuiui7
* Improvement: consent mode Google
* Fix: Disable cookieblocker on AMP when AMP integration not enabled, props @jensminor
* Fix: ony one ID for the cookie policy overview div, props @frown
* Improvement: maximize cookie name length, to prevent display issues
* Fix: typo in text domain
* Fix: "Usage" translated with _x function with wrong arguments

= 4.7.6 =
* Fix: pass new cookies overview css also when only the cookies shortcode is used
* Fix: saving of plugin integration settings, props Laura
* Fix: proof of consent showing cookie information in white because of display hidden css style, props @ollieuk
* Improvement: some themes overriding the white-space:normal for the blocked content button
* Improvement: don't show "hide cookie banner option when no slug is available
* Improvement: compatibility with native browser lazyload option loading="lazy"

= 4.7.5 =
* Improvement: force display none on video placeholder for themes that are overriding the display none
* Improvement: cookie list responsive and better compact design
* improvement: responsiveness for banner bottom with square category checkboxes
* Fix: statistics paragraph EU/UK cookie policy not taking into account consent differences for statistical cookies
* Fix: advertising section incorrectly in cookie policy showing when no ads are showing
* Improvement: WCAG for blocked content notice: changed clickable div into button

= 4.7.4 =
* Improvement: don't enqueue document css in Gutenberg editor when disabled
* Improvement: no cookie wall on cookie policy
* Improvement: stricter instagram detection, preventing false positives on hyperlinks
* Fix: safe data before loading fields, which could cause conditions not to be updated yet on next pageload
* Fix: set default for personalized ads, to prevent unfocusable document control
* Fix: pass language as parameter with ajax calls, to ensure WPML and polylang translation

= 4.7.3 =
* CF 7 reCaptcha v2 fix
* Increase conditional jquery priority to limit chances of deregistering afterwards.
* Extend safe mode with script center features

= 4.7.2 =
* Improvement: add option to flag first party marketing cookies with an integration.
* Improvement: set tabindex to 0 for banner controls.
* Improvement: limit access to hide banner option to users with manage_privacy capability.
* Fix: Do Not Track signal not passed correctly when caching enabled.
* Fix: legacy revoke button in US.
* Fix: on configurations without marketing cookies "save preferences" was not functioning properly.
* Fix: max banner width was implemented with min-width.
* Fix: remove clearing cookies. Would cause issues when logged-in.

= 4.7.1 =
* Improvement: add option to exclude cookie banner from a page
* Improvement: keyboard accessibility of square and slider checkboxes on the banner for WCAG2
* Improvement: when no marketing categories are present, don't show the marketing category on the banner
* Improvement: consent area shortcode caching proof
* Improvement: only accept marketing on placeholder accept
* Improvement: drop obsolete setting cookie_warning_enabled
* Improvement: rename cookieconfig.js to complianz.js to prevent unnecessary blocking by all in one wp security
* Improvement: better adjusting to long button texts in the banner
* Improvement: add data-nosnippet to banner div to discourage indexing by search engines
* Improvement: separate question to explicitly let users choose to block recaptcha
* Improvement: google site kit notification
* Improvements on the consent area shortcode implementation
* Fix: accept deny banner variation did not revoke anymore after accepting, then revoking.
* Fix: CAOS integration not working anymore
* Fix: edited some typos
* Fix: legacy revoke button in opt out regions, revoking in manage consent tab in opt out regions

= 4.7.0 =
* Improvement: WCAG 2 compatibility
* Improvement: WP 5.5 permissions callback default true for public rest api calls
* New: Calendly integration
* New: Consent Shortcode to wrap your content manually [cmplz-consent-area][/cmplz-consent-area]
* Improvement: string update
* Improvement: proof of consent remove unnecessary info
* Improvement: improved activation notice
* Improvement: added Gutenberg preview image
* Improvement: improved Google Maps placeholders
* Fix: placeholders update
* Fix: static Google Maps images integration not working correctly due to regex pattern
* Fix: AMP matching on facebook and facebook-like tag
* Fix: Google Ads integration could not be disabled
* Fix: cookiedomain feature could cause indexOf undefined error in specific congfigurations
* NPM package updates
* Fix: Canada getting incorrect privacy statement URL on banner
* Fix: Vimeo sunset of simple API v2, requiring update of placeholder/thumbnail download

= 4.6.10 =
* Google Maps easy integration added
* Split last cookie sync into separate ajax call for better performance
* Fix: prevent page reload when user chooses functional only in category banner, when no other category has been selected.

= 4.6.9 =
* Fix: an option was not checked correctly, causing cookies not to get set on some configurations

= 4.6.8 =
* Fix: run upgrade for banner width to prevent saving issues because bannerwidth still has odd number of pixels
* Fix: correctly load defaults so the banner has a fallback if the impressum title is not yet entered.
* Improvement: Syncing or adding used services won't enable integrations

= 4.6.7 =
* Fix: correctly load defaults so the banner has a fallback if the impressum title is not yet entered.

= 4.6.6 =
* Improvement: read more link on double analytics implementation
* Fix: string "obsolete page" not translatable
* improvement: impressum title in cookie banner editable

= 4.6.5 =
* Improvement: remove "we do not use ... " statements from cookie policy
* Improvement: facebook for woocommerce integration
* Improvement: support for cross domain cookie consent on multisite
* Improvement: add noreferrer, noopener attributes to links on cookie policy
* Improvement: fix issue where Chrome bug causes blurred banner on uneven width sizes
* Improvement: fix broken Contact Form 7 integrations because of continuous changes to CF7

= 4.6.4 =
* New: Async script center option
* Fix: prevent CSS theme override in some themes on square checkbox
* Fix: prevent warning about rest-api by removing slash
* Fix: marketing level not firing correctly with Tag Manager
* Fix: when Do Not Sell My Personal Information is added, wrong link was highlighted as "upgrade" link
* Improvement: default banner width larger

= 4.6.3 =
* Fix: Tag Manager event not firing in new style checkboxes
* Improvement: catch error when uploads dir is not writable, for pdf creation
* Fix: Correctly replace banner labels in policy
* Fix: after 4.6.0 update script-center custom scripts not firing after consent
* Improvement: Simple Business Directory
* Improvement: dismiss soft cookie wall for categories below marketing
* Fix: manage consent paragraph not in correct paragraph for UK policy
* Improvement: additional css to prevent theme override of classic checkbox css
* Fix: don't force banner width on top, bottom and fixed banners

= 4.6.2 =
* Improvement: Dismiss review notice with GET to prevent issues with dismissing
* Improvement: Facebook / Twitter Smash Balloon integration added
* Fix: drop blocking of PayPal as third party

= 4.6.1 =
* Fix: load ACF Maps integration only when Google Maps is enqueued
* Fix: fallback for banner settings in case upgrade to new category banners didn't run successfully
* Fix: cmplzSetCookie function called without expiration, causing a session expiration

= 4.6.0 =
* New: New Cookie banner variations with new checkbox options, accept all button, etc.
* Fix: revoke on legacy revoke button not revoking correctly
* Fix: in case of categories, paragraph text in cookie policy didn't match
* Improvement: vimeo with DNT=1 in the URL will not get blocked, as it's privacy friendly, non tracking.
* New: added Rate My Post integration
* New: added ACF (Advanced Custom Fields) integration for Google Maps
* Fix: Contact form 7 recaptcha update patch
* Improvement: regex for double statistics implementation was not specific enough

= 4.5.2 =
* Fix: setCookie function at one point in code called without expiry, causing it to get set with session expiry

= 4.5.1 =
* Fix: some themes showing double checkboxes

= 4.5.0 =
* Fix: User registration dependency
* Fix: consent management on UK policy not possible due to an incorrect condition
* Improvement: improve conditions and descriptions for selling data elements in legal documents and questions
* Improvement: jquery >3.x compatibility
* Improvement: Divi notice for Recaptcha
* Improvement: convert region array when enabling or disabling geo ip setting
* Improvement: support for retrieval of second party cookies
* Improvement: dropped deprecated wp.editor in favor of wp.blockEditor in Gutenberg block, added panelrows.
* Improvement: manage consent by category on Cookie Policy
* SSL verify enabled for license verification
* javascript sanitization https://github.com/rlankhorst/complianz-gdpr/issues/260 props pierrotevrard-idp
* Do not automatically enable a service integration after a cookiedatabase sync
* Get screencapture for youtube videoseries
* Catch not existing src in iframe in cmplzGetURLParam()
* Improvement: for the geo ip document redirect, redirect the "other" region to website's base region
* Fix: possible issue when custom editing the cookie policy content because of empty table cells.
* Fix: AMP plugin changed hooks, causing the integration not to work 100%
* Improvement: added AddToAny in the integrations list
* Fix: missing filter in integrations list props @orjhor
* Fix: language selector services was called 'select {language} cookies';
* Fix: correctly translate Complianz cookie retention

= 4.4.1 =
* Fix: ajax loaded content setting not applied

= 4.4.0 =
* Improvement: Add an impressum link to your cookie banner for Germany or Austria
* Improvement: pass type to Cookiedatabase: localstorage or cookie
* Fix: improve integration with WP Google Maps plugin
* Fix: template override feature from theme not working https://github.com/rlankhorst/complianz-gdpr/issues/242 props xantek
* Fix: with line breaks in iframe element, https://github.com/rlankhorst/complianz-gdpr/issues/244 props pierrotevrard
* Fix: iframe replacement issue with linebreaks https://github.com/rlankhorst/complianz-gdpr/issues/246 props pierrotevrard
* Improvement: Translatepress support

= 4.3.6 =
* Fix: OpenStreetMaps (OSM plugin) compatibility fix
* Fix: cookie blocker for ajax loaded content made conditional with a setting in the general settings
* Tweak: allow colon in URL field

= 4.3.5 =
* Fix: TGM compatibility fix
* Fix: when dismiss on scroll is used in the US in combination with the hide settings button, the settings button wasn't hidden immediately
* Fix: Improved blocked content activation on ajax loaded content

= 4.3.4 =
* Fix: Mailchimp for CF7 compatibility
* Tweak: added filter to allow to manipulate script output
* Fix: embedded analytics script triggered before consent because regex didn't match the script after PHPcs changes
* Fix: condition on Cookie Policy text field caused field not to be shown when both CCPA and PIPEDA apply
* Tweak: renamed TGM library classes to prevent conflicts with incorrectly implemented TGM libary in some themes

= 4.3.3 =
* Fix: the "all" region was skipped in a region check

= 4.3.2 =
* Improvement: make pages creation an explicit user action

= 4.3.1 =
* MPDF package update
* removed divs in legal documents, in favour of p tags.
* Improved jquery activation script for iframes for smoother loading of iframe
* Improved cookie delete option: it will now archive, so won't get added again on new scan
* Improved handling of ajax loaded content in Cookie Blocker (Ultimate Member)
* Fix translation of banner items for multiple language configurations
* Fix: WPML changed index in supported languages from language_code to code

= 4.3.0 =
* New: Supports the [WP Consent API](https://wpconsentapi.org/).
* Fix: Type on legal document
* Tweak: filter to change the region dynamically

= 4.2.0 =
* New: PIPEDA support (Canada)
* Tweak: CAOS integration improved
* Tweak: added to disable placeholders per plugin/service
* Tweak: Updated WCAG to v2.1
* Tweak: moved custom recaptcha css to integrations modules
* Tweak: added introduction tour
* Fix: don't fire the cookieblocker when not needed
* Fix: allow for private Vimeo video's, props @volkmar-kantor
* Fix: use filename sanitize function instead of sanitize_title() for proof of consent files
* Fix: user region and consenttype for not enabled regions should return "other", even when the user is from a supported region
* Tweak: made aria-label in cookie notice translatable
* Fix: check if array key exists in GTM4WP integration
* Fix: check existence of table before retrieving services
* Fix: IE11 support for blocked content notice, props @volkmar-kantor
* Tweak: Improved placeholder support for Twitter embed
* Fix: removed unintentional dot before not numbered paragraphs
* Fix: custom policy URL incorrectly caused a not 100% completeness

= 4.1.5 =
* Tweak: improved signature style on processing agreements
* Fix: proof of consent link not working when website title contained an ampersand
* Fix: duplicate function name in contact form 7/G1 Maps integration, and in GADWP and GTM4WP integration

= 4.1.4 =
* Fix: Google Analytics was not blocked correctly

= 4.1.3 =
* Fix: Google Tag Manager integration
* New: Google Tag Manager 4 WP integration
* Tweak: updated default banner colors
* Tweak: improved menu order and tab order on integrations page

= 4.1.2 =
* Tweak: When consent on anonymous statistics is enabled for Germany,  Hotjar anonymous version should also require consent
* Fix: add space in "web beacon"
* Tweak: No lazy loading for WP Rocket iframes
* Tweak: offer option to show link to cookiedatabase.org for cookies and services
* Fix: database error on new install because cookies were checked before table was initialized on first activation.
* Tweak: Wp Forms recaptcha integration
* Tweak: Mappress integration
* Fix: placeholder activation for non iframes not working correctly
* Fix: typo in privacy policies
* Tweak: removed some obsolete statements in privacy policies
* Tweak: changed blocked content notice in "accept marketing cookies"
* Tweak: added OSM plugin open streetmaps support
* Fix: is_amp_endpoint function check
* Tweak: moved css to separate plugin integrations
* Tweak: JetPack twitter integration
* Tweak: improved notice when uploads folder not writable
* Tweak: improved non functional and functional cookies check
* Fix: cron was wrapped in logged in check, preventing the cron from running

= 4.1.1 =
* Fix: multiple regions not processed correctly by cmplz_has_region() function

= 4.1.0 =
* New: AMP support
* New: Force opt-in for statistics in Germany (optional)
* Tweak: Integrated with GADWP | Google Analytics for WordPress
* Fix: dismiss on timeout not working
* Fix: revoke on cookie policy when GEO ip enabled, US only
* Fix: when no region was selected, a string with empty region could appear in the dashboard.
* Tweak: dismiss the upgrade notice even when no changes are detected.
* Tweak: improved review notice
* Tweak: higher treshold for dashboard notifications
* Tweak: remove "unknown privacy link"
* Tweak: no need to opt in to cookiedatabase.org when no cookies
* Tweak: dedicated shortcode [cmplz-cookies] to enable users to inlude the cookies list only
* Tweak: adjusted accept all cookies notice in blocked content notice
* Tweak: improve activation of video scripts for smoother experience
* Tweak: drop notification on plugin updates. This function is already handled by the "new cookies" feature
* Tweak: removed double occurence of disqus
* Tweak: added dot behind every paragraph
* Tweak: improve region explanation to avoid confusion
* Tweak: added remove data on uninstall option
* Tweak: extend regex for iframe URL's to support brackets in URL's

= 4.0.5 =
* Improvement: added reset for cookie scan clearing all cookies
* Fix: added string for translation (Blocked content text)

= 4.0.4 =
* Improvement: opt-in to cookiedatabase.org

= 4.0.3 =
Fix: cookiedatabase sync not synchronizing third-party services in multilingual environments
Improvement: improved error messages for sync

= 4.0.2 =
Fix: UK and US policies still used old cookie descriptions

= 4.0.1 =
Fix: banner saving when UK and EU both use categories

= 4.0.0 =
* Improvement: separate consenttype for UK
* Improvement: cookie information retrieved from cookiedatabase.org

= 3.2.3 =
* Fix: missing retain data statement in privacy policy
* Fix: missing translation strings
* Fix: not registering strings from cookie translation for multilanguage environments
* Fix: changed placeholder.html in blocked iframe source to "about:blank"

= 3.2.2 =
* Improvement: added option to unlink and customize the legal documents
* Improvement: structure improvements to integrations code
* Fix: UK Cookie Policy URL not added to cookie notice
* Improvement: added integration for GEO My WP members list
* Improvement: added Forminator integration

= 3.2.1 =
* Fix: language forcing en_US

= 3.2.0 =
* Improvement: added shortcodes to document list on dashboard page
* Improvement: do not activate cookie banner before wizard has completed
* Improvement: added banner loaded jquery hook
* Improvement: The United Kingdom is now a separate region with specific cookie consent management
* Improvement: script center is now embedded under 'Integrations'. A more flexible approach to blocking and enabling scripts, plugins and services
* Tweak: Tag Manager does not require a categorical approach of cookies
* Tweak: Feedback in dashboard has been improved when changing regions
* Tweak: Stylesheet updates

= 3.1.2 =
* Fix: remove superfluous title on proof of consent
* Fix: Contact Form 7 recaptcha dependency not fired in correct order

= 3.1.1 =
* Fix: document wrapped in double div
* Fix: PHP warning caused by empty list of proof of consent documents
* Fix: if upload directory does not have writing permissions, generating the PDF files could cause an error

= 3.1.0 =
* Improvement: proof of consent page, which works as user consent registration on settings change
* Improvement: added script dependency array, to enable scripts to fire in a certain order
* Improvement: extended placeholder support for non-iframes
* Improvement: added soft Cookie Wall

= 3.0.11 =
* Fix: version stripping second digit for upgrade check

= 3.0.10 =
* Fix: Avia front-end pagebuilder getting blocked by cookie blocker
* Fix: Lawfull => lawful
* Improvement: added custom jquery event to hook into cookie consent events
* Fix: set Google Analytics as not functional
* Fix: duplicate advertising cookies settings in US cookie policy
* Improvement: added PayPal cookies
* Improvement: added cc-revoke example
* Improvement: added helptext to explain email addresses are obfuscated
* Improvement: sanitizing of hex color in custom css
* Improvement: WP Google Maps integration
* Improvement: moved do not track me integration to filterable array
* Improvement: prevent policies from being generated when not activated in settings
* Improvement: pixelyoursite plugin support
* Improvement: notifications when cookie blocker is enabled, to make sure users understand the implications
* Improvement: dropped youronlinechoices as suggested service

= 3.0.8 =
* Improvement: add option to configure your own cookie policy URL
* Fix: creating legal document page when none is available after region switch
* Improvement: W3C validator compatibility for documents
* Fix: javascript pattern not matching correctly, causing both text/plain and text/javascript scripts.
* Improvement: recommended action on Google Fonts
* Fix: Pass font color to cc-category class
* Fix: allow for content in iframes tags in regex pattern
* Fix: hide comment checkbox when WP personal data storage for comments is disabled

= 3.0.7 =
* Tweak: remove blocking of custom Google implementations, as it is not yet possible to reactivate them

= 3.0.6 =
* Fix: new regex did not exclude cmplz-native scripts from cookie blocker

= 3.0.5 =
* Fix: saving when saved data is not an array
* Fix: prevent force category for Tag Manager after switching back to GA
* Improvement: allow for Youtube video series URL
* Fix: several improvements for US documents
* Improvement: when marketing level category is selected, statistics category should not get consent
* Improvement: not scrolling to top when accepting
* Fix: table remove on plugin deletion
* Improvement: CSS classes for Cookie Notice

= 3.0.4 =
* Fix: expiry days not passed to cookie banner

= 3.0.3 =
* Fix: add href to accept button on cookie banner
* Improvement: [cmplz-accept-link text="accept cookies"] shortcode
* Fix: Cookie policy advertising and analytical cookies settings fix
* Fix: Not saving unchecked checkbox custom document css
* Fix: Privacy statement for eu notice when using US only
* Fix: If page is deleted, stored cookiepage url could be empty
* Fix: When switching settings for advertising cookies, output might show both advertising and non-advertising paragraph
* Fix: No cookie banner mention in cookie policy when no banner is needed
* Fix: Cookie blocker was not activated when only statistics required a cookie warning
* Fix: selecting no thirdparty services or cookies could lead to double activation of statistics
* Fix: Selecting US as target region in some cases did not fire the default consent which is allowed for US privacy regulations

= 3.0.2 =
* Fix: Gravity forms checkbox not generated correctly
* Fix: Brand color not updating in cookiebanner
* Fix: US Cookie policy not showing correct purposes
* Fix: Incomplete cookie causing not reaching 100% without notice
* Fix: Enabling TM categories
* Fix: Elementor forcing lineheight of 0 in embeds

= 3.0.1 =
* Fix: hook for DB upgrade moved to an earlier one.

= 3.0.0 =
* Fix: removed Google Plus integration, as it's discontinued
* Fix: prevent saving from document URL's on autosave and revisions
* Fix: moved linkedin from script blocked list to async loaded list
* Fix: default region is now one of the selected regions in the wizard.
* Fix: when localstorage is empty, empty array could cause PHP error during cookie scan
* Fix: excluded elementor_font post_type from scan
* Fix: hyperlink in disclaimer (Dutch)
* Fix: As elementor uses the classic shortcodes in Gutenberg, an exception should be made for Elementor when inserting default pages
* Improvement: Hide nag notices from other plugins on Complianz pages.
* Improvement: Added export feature
* Improvement: Completely rewritten video blocking and placeholder code, which should reduce possible issues
* Improvement: Added HappyForms integration to enable recaptcha initialization.
* Improvement: Extended support for different types of IP detection on servers e.g. Cloudflare.
* Improvement: Moved string translation support for polylang and WPML to core
* Improvement: Added option to disable adding placeholder HTML to video's
* Improvement: Added plural for Social Media statement in Cookie Policy
* Improvement: Added exception for Non Personalized Ads in advertisement section in Wizard and in Cookie Policy
* Improvement: Added escaping to outputted javascript, all scripts moved to templates
* Improvement: Moved cookie banner settings to separate table and object
* Improvement: Limit ajax requests to a/b testing and multiple regions
* Improvement: Placeholders for Gutenberg variations with Pagebuilders and various themes.
* Improvement: Disabling placeholders if needed
* Improvement: Full compatibility with Newspaper and Adsense
* Improvement: Blocking IP Adresses for comment section. (option)
* Improvement: Variable cookie scan for high traffic websites to minimize server capacity.
* Improvement: New UI for cookie banner settings.

= 1.0.0 =

== Upgrade notice ==
* Please backup before upgrading.

== Screenshots ==
1. Complianz Dashboard: Your privacy HUB
2. The Wizard: Generate a cookie policy and configure consent management to your specific needs. 
3. Automatic Cookie Scan: Weekly scan of your website to keep you up-to-date!
4. Customize your Cookie Banner: Including template styles and a range of styling options, WCAG conform. Custom CSS available for full control!
5. Integrations: Dedicated integrations with the most popular plugins, themes and services. Feature requests are possible!
6. Placeholders: Still images for video placeholders and individual placeholders for social media widgets. Fully customizable as well!
7. Legal Documents: Dedicated legal documents per region. Generated by you through the wizard, drafted, and updated by our IT Law firm.
