Version Description
- Fix: Error on AMP configuration during install in some edge cases
- Fix: Invalid www detection during AMP configuration generation process
- Fix: Regex for iubenda script url in AMP configuration
- Tweak: Added noindex for generated AMP configuration file
Download this release
Release Info
Developer | dfactory |
Plugin | iubenda Cookie Solution for GDPR |
Version | 2.3.1 |
Comparing to | |
See all releases |
Code changes from version 2.3.0 to 2.3.1
- includes/amp.php +41 -17
- includes/settings.php +9 -9
- iubenda_cookie_solution.php +12 -5
- readme.txt +12 -5
includes/amp.php
CHANGED
@@ -265,6 +265,7 @@ amp-consent.amp-active {
|
|
265 |
<head>
|
266 |
<meta charset="UTF-8">
|
267 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
268 |
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
269 |
<title>' . __( 'AMP Cookie Consent', 'iubenda' ) . '</title>
|
270 |
<script type="text/javascript">
|
@@ -281,20 +282,40 @@ amp-consent.amp-active {
|
|
281 |
rejectButtonDisplay: true,
|
282 |
backgroundOverlay: true
|
283 |
},
|
284 |
-
callback: {
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
</script>
|
299 |
<script async src="' . $script_src . '"></script>
|
300 |
</head>
|
@@ -338,8 +359,8 @@ amp-consent.amp-active {
|
|
338 |
$has_www = strpos( $parsed_file['host'], 'www.' ) === 0;
|
339 |
|
340 |
// add or remove www from url string to make iframe url pass AMP validation
|
341 |
-
$tweaked_host = ! $is_localhost && ! $is_subdomain ? ( ! $has_www ? 'www.' . $parsed_file['host'] : preg_replace( '/^www\./i', '', $parsed_file['host'] ) ) : $parsed_file['host'];
|
342 |
-
|
343 |
// generate new url
|
344 |
$tweaked_url = $parsed_file['scheme'] . '://' . $tweaked_host . ( isset( $parsed_file['port'] ) ? ':' . $parsed_file['port'] : '' ) . $parsed_file['path'] . ( ! empty( $parsed_file['query'] ) ? '?' . $parsed_file['query'] : '' );
|
345 |
|
@@ -358,7 +379,10 @@ amp-consent.amp-active {
|
|
358 |
*
|
359 |
* @return mixed
|
360 |
*/
|
361 |
-
public function generate_amp_template( $code, $lang = '' ) {
|
|
|
|
|
|
|
362 |
$template_dir = IUBENDA_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR;
|
363 |
$template_file = $template_dir . ( ! empty( $lang ) && in_array( $lang, array_keys( iubenda()->languages ) ) ? 'amp' . '-' . $lang . '.html' : 'amp.html' );
|
364 |
$html = $this->prepare_amp_template( $code );
|
265 |
<head>
|
266 |
<meta charset="UTF-8">
|
267 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
268 |
+
<meta name="robots" content="noindex">
|
269 |
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
270 |
<title>' . __( 'AMP Cookie Consent', 'iubenda' ) . '</title>
|
271 |
<script type="text/javascript">
|
282 |
rejectButtonDisplay: true,
|
283 |
backgroundOverlay: true
|
284 |
},
|
285 |
+
callback: { // Mandatory
|
286 |
+
onPreferenceExpressed: function(preference) {
|
287 |
+
var consentAction = \'reject\';
|
288 |
+
var consentObject = {
|
289 |
+
type: \'consent-response\'
|
290 |
+
};
|
291 |
+
|
292 |
+
if (preference && preference.consent) {
|
293 |
+
consentAction = \'accept\';
|
294 |
+
}
|
295 |
+
|
296 |
+
consentObject.action = consentAction;
|
297 |
+
|
298 |
+
if (_iub.cs.options.enableCMP) {
|
299 |
+
__cmp(\'getConsentData\', null, function(res) {
|
300 |
+
var consentString = res.consentData;
|
301 |
+
|
302 |
+
if (consentString.length <= 200) {
|
303 |
+
consentObject.info = consentString;
|
304 |
+
}
|
305 |
+
|
306 |
+
console.log(\'send consent-response\', consentAction, \'with CMP consent string\', consentString);
|
307 |
+
|
308 |
+
window.parent.postMessage(consentObject, \'*\');
|
309 |
+
});
|
310 |
+
}
|
311 |
+
else {
|
312 |
+
console.log(\'send consent-response\', consentAction);
|
313 |
+
|
314 |
+
window.parent.postMessage(consentObject, \'*\');
|
315 |
+
}
|
316 |
+
}
|
317 |
+
}
|
318 |
+
};
|
319 |
</script>
|
320 |
<script async src="' . $script_src . '"></script>
|
321 |
</head>
|
359 |
$has_www = strpos( $parsed_file['host'], 'www.' ) === 0;
|
360 |
|
361 |
// add or remove www from url string to make iframe url pass AMP validation
|
362 |
+
$tweaked_host = ! $is_localhost && ( ! $is_subdomain || $has_www ) ? ( ! $has_www ? 'www.' . $parsed_file['host'] : preg_replace( '/^www\./i', '', $parsed_file['host'] ) ) : $parsed_file['host'];
|
363 |
+
|
364 |
// generate new url
|
365 |
$tweaked_url = $parsed_file['scheme'] . '://' . $tweaked_host . ( isset( $parsed_file['port'] ) ? ':' . $parsed_file['port'] : '' ) . $parsed_file['path'] . ( ! empty( $parsed_file['query'] ) ? '?' . $parsed_file['query'] : '' );
|
366 |
|
379 |
*
|
380 |
* @return mixed
|
381 |
*/
|
382 |
+
public function generate_amp_template( $code = '', $lang = '' ) {
|
383 |
+
if ( empty( $code ) )
|
384 |
+
return false;
|
385 |
+
|
386 |
$template_dir = IUBENDA_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR;
|
387 |
$template_file = $template_dir . ( ! empty( $lang ) && in_array( $lang, array_keys( iubenda()->languages ) ) ? 'amp' . '-' . $lang . '.html' : 'amp.html' );
|
388 |
$html = $this->prepare_amp_template( $code );
|
includes/settings.php
CHANGED
@@ -369,14 +369,14 @@ class iubenda_Settings {
|
|
369 |
</span>
|
370 |
</p>
|
371 |
<p class="step-2 step-yes">
|
372 |
-
<span class="notice-question"><?php _e( "Whew, what a relief
|
373 |
<span class="notice-reply">
|
374 |
<a href="https://wordpress.org/support/plugin/iubenda-cookie-law-solution/reviews/?filter=5" target="_blank" class="reply-yes"><?php _e( 'Sure!', 'iubenda' ); ?></a>
|
375 |
<a href="javascript:void(0)" class="reply-no"><?php _e( 'No thanks', 'iubenda' ); ?></a>
|
376 |
</span>
|
377 |
</p>
|
378 |
<p class="step-2 step-no">
|
379 |
-
<span class="notice-question"><?php _e( "We
|
380 |
<span class="notice-reply">
|
381 |
<a href="https://iubenda.typeform.com/to/BXuSMZ" target="_blank" class="reply-yes"><?php _e( 'Ok sure!', 'iubenda' ); ?></a>
|
382 |
<a href="javascript:void(0)" class="reply-no"><?php _e( 'No thanks', 'iubenda' ); ?></a>
|
@@ -564,10 +564,10 @@ class iubenda_Settings {
|
|
564 |
if ( $tab_key === 'cs' ) {
|
565 |
echo '
|
566 |
<p class="iubenda-text">
|
567 |
-
' . __( "This plugin is the easiest and most comprehensive way to adapt your WordPress site to the ePrivacy (EU Cookie Law). Upon your users
|
568 |
</p>
|
569 |
<p class="iubenda-text">
|
570 |
-
<span class="iubenda-title">' . __( "Does the Cookie Solution support IAB
|
571 |
' . sprintf( __( "Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">here.</a>", 'iubenda' ), $this->links['iab'] ) . '
|
572 |
</p>
|
573 |
<p class="iubenda-text">
|
@@ -657,7 +657,7 @@ class iubenda_Settings {
|
|
657 |
|
658 |
<?php
|
659 |
if ( $tab_key === 'cs' ) {
|
660 |
-
echo '<p>' . sprintf( __( 'This plugin drastically reduces the need for direct interventions in the code of the site by integrating with iubenda
|
661 |
} else {
|
662 |
echo '<p>' . __( 'Maintaining valid records of consent is a vital part of privacy compliance in general, and it is specifically required under the GDPR. These records should include a userid, timestamp, consent proof, record of the consenting action, and the legal documents available to the user at the time of consent, among other things. This plugin is THE most complete solution for recording, sorting and maintaining GDPR records of consent*. The plugin also boasts built-in compatibility with WordPress comment form, Contact Form 7 and WP Forms plugins for your convenience, but can be manually integrated with any type of web-form and can even store consent proofs for consents collected offline (e.g in-store sign-ups) via WP media upload.' ) . '</p>';
|
663 |
}
|
@@ -772,7 +772,7 @@ class iubenda_Settings {
|
|
772 |
</div>
|
773 |
<div id="contextual-help-tabs-wrap-2" class="contextual-help-tabs-wrap">
|
774 |
<div id="tab-panel-scripts" class="help-tab-content active">
|
775 |
-
<p class="description">' . __( 'Provide a list of custom scripts you
|
776 |
<div id="custom-script-field-template" class="template-field" style="display: none;">
|
777 |
<input type="text" class="regular-text" value="" name="iubenda_cookie_law_solution[custom_scripts][script][]" placeholder="' . __( 'Enter custom script', 'iubenda' ) . '" /> ' . $this->render_tag_types( 'script', 0 ) . ' <a href="#" class="remove-custom-script-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
778 |
</div>';
|
@@ -790,7 +790,7 @@ class iubenda_Settings {
|
|
790 |
<a href="#" class="add-custom-script-field button-secondary">Add New Script</a>
|
791 |
</div>
|
792 |
<div id="tab-panel-iframes" class="help-tab-content">
|
793 |
-
<p class="description">' . __( 'Provide a list of custom iframes you
|
794 |
<div id="custom-iframe-field-template" class="template-field" style="display: none;">
|
795 |
<input type="text" class="regular-text" value="" name="iubenda_cookie_law_solution[custom_iframes][iframe][]" placeholder="' . __( 'Enter custom iframe', 'iubenda' ) . '" /> ' . $this->render_tag_types( 'iframe', 0 ) . ' <a href="#" class="remove-custom-iframe-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
796 |
</div>';
|
@@ -912,7 +912,7 @@ class iubenda_Settings {
|
|
912 |
echo '
|
913 |
<div id="iub_amp_support_container">
|
914 |
<label><input id="iub_amp_support" type="checkbox" name="iubenda_cookie_law_solution[amp_support]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['amp_support'], false ) . '/>' . __( 'Enable Google AMP support.', 'iubenda' ) . '</label>
|
915 |
-
<p class="description">' . sprintf( __( 'This feature enables iubenda on AMP pages via the <a href="%s" target="_blank">AMP</a> and <a href="%s" target="_blank">AMP for WP</a> plugins. AMP requires specific configuration parameters and a page hosted on your domain where the configuration is loaded from. <a href="%s" target="_blank">Learn more on iubenda and AMP</a>.', 'iubenda' ), 'https://wordpress.org/plugins/amp/', 'https://wordpress.org/plugins/accelerated-mobile-pages/', 'https://www.iubenda.com/en/help/
|
916 |
<div id="iub_amp_options_container"' . ( iubenda()->options['cs']['amp_support'] === false ? ' style="display: none;"' : '' ) . '>
|
917 |
<div>
|
918 |
<label><input id="iub_amp_source-local" class="iub_amp_source" type="radio" name="iubenda_cookie_law_solution[amp_source]" value="local" ' . checked( 'local', iubenda()->options['cs']['amp_source'], false ) . ' />' . __( 'Auto-generated configuration file', 'iubenda' ) . '</label>
|
@@ -1298,7 +1298,7 @@ class iubenda_Settings {
|
|
1298 |
<tr>
|
1299 |
<td class="label table-label">
|
1300 |
<h4>' . __( 'Legal documents', 'iubenda' ) . '</h4>
|
1301 |
-
<p class="description">' . __( 'In general, it
|
1302 |
</td>
|
1303 |
<td>
|
1304 |
<table class="widefat legal_notices-table">
|
369 |
</span>
|
370 |
</p>
|
371 |
<p class="step-2 step-yes">
|
372 |
+
<span class="notice-question"><?php _e( "Whew, what a relief!? We've worked countless hours to make this plugin as useful as possible - so we're pretty happy that you're enjoying it. While you here, would you mind leaving us a 5 star rating? It would really help us out.", 'iubenda' ); ?></span>
|
373 |
<span class="notice-reply">
|
374 |
<a href="https://wordpress.org/support/plugin/iubenda-cookie-law-solution/reviews/?filter=5" target="_blank" class="reply-yes"><?php _e( 'Sure!', 'iubenda' ); ?></a>
|
375 |
<a href="javascript:void(0)" class="reply-no"><?php _e( 'No thanks', 'iubenda' ); ?></a>
|
376 |
</span>
|
377 |
</p>
|
378 |
<p class="step-2 step-no">
|
379 |
+
<span class="notice-question"><?php _e( "We're sorry to hear that. Would you mind giving us some feedback?", 'iubenda' ); ?></span>
|
380 |
<span class="notice-reply">
|
381 |
<a href="https://iubenda.typeform.com/to/BXuSMZ" target="_blank" class="reply-yes"><?php _e( 'Ok sure!', 'iubenda' ); ?></a>
|
382 |
<a href="javascript:void(0)" class="reply-no"><?php _e( 'No thanks', 'iubenda' ); ?></a>
|
564 |
if ( $tab_key === 'cs' ) {
|
565 |
echo '
|
566 |
<p class="iubenda-text">
|
567 |
+
' . __( "This plugin is the easiest and most comprehensive way to adapt your WordPress site to the ePrivacy (EU Cookie Law). Upon your users' first visit, the plugin will take care of collecting their consent, blocking the most popular cookie-scripts and subsequently reactivating these scripts as soon as consent is provided. The basic settings include obtaining consent by a simple scroll action (the most effective method) and script reactivation without refreshing the page (asynchronous script reactivation).", 'iubenda' ) . '
|
568 |
</p>
|
569 |
<p class="iubenda-text">
|
570 |
+
<span class="iubenda-title">' . __( "Does the Cookie Solution support IAB's Transparency and Consent Framework?", 'iubenda' ) . '</span><br />
|
571 |
' . sprintf( __( "Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">here.</a>", 'iubenda' ), $this->links['iab'] ) . '
|
572 |
</p>
|
573 |
<p class="iubenda-text">
|
657 |
|
658 |
<?php
|
659 |
if ( $tab_key === 'cs' ) {
|
660 |
+
echo '<p>' . sprintf( __( 'This plugin drastically reduces the need for direct interventions in the code of the site by integrating with iubenda\'s Cookie Solution. It provides a fully customizable cookie banner, dynamically generates a cookie policy <a href="%s" target="_blank">to match the services in use on your site</a>, and, fully manages cookie-related consent - including the blocking of the most common widgets and third-party cookies before consent is received - in order to comply with the GDPR and ePrivacy.', 'iubenda' ), 'https://www.iubenda.com/en/help/19004-how-to-use-the-site-scanner-from-within-the-generator' ) . '</p>';
|
661 |
} else {
|
662 |
echo '<p>' . __( 'Maintaining valid records of consent is a vital part of privacy compliance in general, and it is specifically required under the GDPR. These records should include a userid, timestamp, consent proof, record of the consenting action, and the legal documents available to the user at the time of consent, among other things. This plugin is THE most complete solution for recording, sorting and maintaining GDPR records of consent*. The plugin also boasts built-in compatibility with WordPress comment form, Contact Form 7 and WP Forms plugins for your convenience, but can be manually integrated with any type of web-form and can even store consent proofs for consents collected offline (e.g in-store sign-ups) via WP media upload.' ) . '</p>';
|
663 |
}
|
772 |
</div>
|
773 |
<div id="contextual-help-tabs-wrap-2" class="contextual-help-tabs-wrap">
|
774 |
<div id="tab-panel-scripts" class="help-tab-content active">
|
775 |
+
<p class="description">' . __( 'Provide a list of custom scripts you\'d like to block and assign their purpose.', 'iubenda' ) . '</p>
|
776 |
<div id="custom-script-field-template" class="template-field" style="display: none;">
|
777 |
<input type="text" class="regular-text" value="" name="iubenda_cookie_law_solution[custom_scripts][script][]" placeholder="' . __( 'Enter custom script', 'iubenda' ) . '" /> ' . $this->render_tag_types( 'script', 0 ) . ' <a href="#" class="remove-custom-script-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
778 |
</div>';
|
790 |
<a href="#" class="add-custom-script-field button-secondary">Add New Script</a>
|
791 |
</div>
|
792 |
<div id="tab-panel-iframes" class="help-tab-content">
|
793 |
+
<p class="description">' . __( 'Provide a list of custom iframes you\'d like to block and assign their purpose. ', 'iubenda' ) . '</p>
|
794 |
<div id="custom-iframe-field-template" class="template-field" style="display: none;">
|
795 |
<input type="text" class="regular-text" value="" name="iubenda_cookie_law_solution[custom_iframes][iframe][]" placeholder="' . __( 'Enter custom iframe', 'iubenda' ) . '" /> ' . $this->render_tag_types( 'iframe', 0 ) . ' <a href="#" class="remove-custom-iframe-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
796 |
</div>';
|
912 |
echo '
|
913 |
<div id="iub_amp_support_container">
|
914 |
<label><input id="iub_amp_support" type="checkbox" name="iubenda_cookie_law_solution[amp_support]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['amp_support'], false ) . '/>' . __( 'Enable Google AMP support.', 'iubenda' ) . '</label>
|
915 |
+
<p class="description">' . sprintf( __( 'This feature enables iubenda on AMP pages via the <a href="%s" target="_blank">AMP</a> and <a href="%s" target="_blank">AMP for WP</a> plugins. AMP requires specific configuration parameters and a page hosted on your domain where the configuration is loaded from. <a href="%s" target="_blank">Learn more on iubenda and AMP</a>.', 'iubenda' ), 'https://wordpress.org/plugins/amp/', 'https://wordpress.org/plugins/accelerated-mobile-pages/', 'https://www.iubenda.com/en/help/22135-cookie-solution-amp#wordpress' ) . '</p>
|
916 |
<div id="iub_amp_options_container"' . ( iubenda()->options['cs']['amp_support'] === false ? ' style="display: none;"' : '' ) . '>
|
917 |
<div>
|
918 |
<label><input id="iub_amp_source-local" class="iub_amp_source" type="radio" name="iubenda_cookie_law_solution[amp_source]" value="local" ' . checked( 'local', iubenda()->options['cs']['amp_source'], false ) . ' />' . __( 'Auto-generated configuration file', 'iubenda' ) . '</label>
|
1298 |
<tr>
|
1299 |
<td class="label table-label">
|
1300 |
<h4>' . __( 'Legal documents', 'iubenda' ) . '</h4>
|
1301 |
+
<p class="description">' . __( 'In general, it\'s important that you declare which legal documents are being agreed upon when each consent is collected. However, if you use iubenda for your legal documents, it is *required* that you identify the documents by selecting them here.', 'iubenda' ) . '</p>
|
1302 |
</td>
|
1303 |
<td>
|
1304 |
<table class="widefat legal_notices-table">
|
iubenda_cookie_solution.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: An All-in-One approach developed by iubenda, which includes functionalities of two powerful solutions that help to make your website GDPR and ePrivacy compliant.
|
6 |
-
Version: 2.3.
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
@@ -32,7 +32,7 @@ define( 'IUB_DEBUG', false );
|
|
32 |
* iubenda final class.
|
33 |
*
|
34 |
* @class iubenda
|
35 |
-
* @version 2.3.
|
36 |
*/
|
37 |
class iubenda {
|
38 |
|
@@ -62,7 +62,7 @@ class iubenda {
|
|
62 |
)
|
63 |
);
|
64 |
public $base_url;
|
65 |
-
public $version = '2.3.
|
66 |
public $activation = array(
|
67 |
'update_version' => 0,
|
68 |
'update_notice' => true,
|
@@ -681,8 +681,15 @@ class iubenda {
|
|
681 |
|
682 |
preg_match( '/src\=(["\'])(.*?)\1/', $parsed_code, $matches );
|
683 |
|
684 |
-
|
685 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
686 |
|
687 |
// strip tags
|
688 |
$parsed_code = wp_kses( $parsed_code, array() );
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
Description: An All-in-One approach developed by iubenda, which includes functionalities of two powerful solutions that help to make your website GDPR and ePrivacy compliant.
|
6 |
+
Version: 2.3.1
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
32 |
* iubenda final class.
|
33 |
*
|
34 |
* @class iubenda
|
35 |
+
* @version 2.3.1
|
36 |
*/
|
37 |
class iubenda {
|
38 |
|
62 |
)
|
63 |
);
|
64 |
public $base_url;
|
65 |
+
public $version = '2.3.1';
|
66 |
public $activation = array(
|
67 |
'update_version' => 0,
|
68 |
'update_notice' => true,
|
681 |
|
682 |
preg_match( '/src\=(["\'])(.*?)\1/', $parsed_code, $matches );
|
683 |
|
684 |
+
// find the iubenda script url
|
685 |
+
if ( ! empty( $matches[1] ) ) {
|
686 |
+
foreach ( $matches[1] as $found_script ) {
|
687 |
+
if ( wp_http_validate_url( $found_script ) && strpos( $found_script, 'iubenda_cs.js' ) ) {
|
688 |
+
$parsed_script = $found_script;
|
689 |
+
continue;
|
690 |
+
}
|
691 |
+
}
|
692 |
+
}
|
693 |
|
694 |
// strip tags
|
695 |
$parsed_code = wp_kses( $parsed_code, array() );
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: cookies, cookie law, cookie policy, cookie banner, privacy policy, cookie
|
|
5 |
Requires at least: 4.0
|
6 |
Requires PHP: 5.2.4
|
7 |
Tested up to: 5.3.2
|
8 |
-
Stable tag: 2.3.
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
@@ -150,6 +150,12 @@ We will be very happy to receive feedback here: [Uservoice forum](https://suppor
|
|
150 |
|
151 |
== Changelog ==
|
152 |
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
= 2.3.0 =
|
154 |
* Fix: Multiple consent forms per page support
|
155 |
* Fix: WP Forms checkbox field compatibility
|
@@ -425,7 +431,8 @@ We will be very happy to receive feedback here: [Uservoice forum](https://suppor
|
|
425 |
|
426 |
== Upgrade Notice ==
|
427 |
|
428 |
-
= 2.3.
|
429 |
-
* Fix:
|
430 |
-
* Fix:
|
431 |
-
*
|
|
5 |
Requires at least: 4.0
|
6 |
Requires PHP: 5.2.4
|
7 |
Tested up to: 5.3.2
|
8 |
+
Stable tag: 2.3.1
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
150 |
|
151 |
== Changelog ==
|
152 |
|
153 |
+
= 2.3.1 =
|
154 |
+
* Fix: Error on AMP configuration during install in some edge cases
|
155 |
+
* Fix: Invalid www detection during AMP configuration generation process
|
156 |
+
* Fix: Regex for iubenda script url in AMP configuration
|
157 |
+
* Tweak: Added noindex for generated AMP configuration file
|
158 |
+
|
159 |
= 2.3.0 =
|
160 |
* Fix: Multiple consent forms per page support
|
161 |
* Fix: WP Forms checkbox field compatibility
|
431 |
|
432 |
== Upgrade Notice ==
|
433 |
|
434 |
+
= 2.3.1 =
|
435 |
+
* Fix: Error on AMP configuration during install in some edge cases
|
436 |
+
* Fix: Invalid www detection during AMP configuration generation process
|
437 |
+
* Fix: Regex for iubenda script url in AMP configuration
|
438 |
+
* Tweak: Added noindex for generated AMP configuration file
|