*** a3 Content Navigation Widget Changelog *** = 1.6.1 - 2023/11/23 = * This maintenance release has plugin framework updates for compatibility with PHP 8.1 onwards, plus compatibility with WordPress 6.4.1 * Tweak - Test for compatibility with WordPress 6.4.1 * Framework - Set parameter number of preg_match function from null to 0 for compatibility with PHP 8.1 onwards * Framework - Validate empty before call trim for option value = 1.6.0 - 2023/01/03 = * This feature release removes the fontawesome lib and replaces icons with SVGs plus adds Default Topography option to font controls. * Feature - Convert icon from font awesome to SVG * Feature - Update styling for new SVG icons * Plugin Framework - Update typography control from plugin framework to add support for Default value * Plugin Framework - Default value will get fonts set in the theme. * Plugin Framework - Change generate typography style for change on typography control * Plugin Framework - Remove fontawesome lib = 1.5.2 - 2022/12/08 = * This maintenance release has a fix for anchor links scroll not working. * Fix - Content navigation script not working with scroll for not logged in users = 1.5.1 - 2022/11/01 = * This maintenance release has a security vulnerability patch, plus compatibility with WordPress major version 6.1.0 * Tweak - Test for compatibility with WordPress 6.1 * Security - This release has a patch for a security vulnerability = 1.5.0 - 2022/05/24 = * This release is for compatibility with WordPress major version 6.0 plus includes various tweaks to harden the plugins security. * Tweak - Test for compatibility with WordPress 6.0 * Framework – Upgrade Plugin Framework to version 2.6.0 * Security - Various code hardening tweaks. * Security - Escape all $-variable * Security - Sanitize all $_REQUEST, $_GET, $_POST * Security - Apply wp_unslash before sanitize = 1.4.11 - 2022/01/21 = * This is a maintenance release for compatibility with WordPress major version 5.9 * Tweak - Test for compatibility with WordPress 5.9 * Tweak - Skip version 1.4.10 to avoid PHP misread of .10 as .1 = 1.4.9 - 2021/11/20 = * This maintenance release has check for compatibility with PHP 8.x * Tweak - Test for compatibility with PHP 8.x = 1.4.8 - 2021/07/19 = * This maintenance release has code rewrites for WordPress 5.8 compatibility plus Security hardening. * Tweak - Update widget control style for compatibility with Gutenberg 10.7 * Tweak - Add Update URI to plugin header with unique name. * Tweak - Test for compatibility with WordPress 5.8 * Security - Add more variable, options and html escaping. * Security - Get variable via name instead of use extract. = 1.4.7 - 2021/03/17 = * This maintenance release updates 23 deprecated jQuery functions for compatibility with the latest version of jQuery in WordPress 5.7 * Tweak - Update JavaScript on plugin framework for compatibility with latest version of jQuery and resolve PHP warning event shorthand is deprecated. * Tweak - Replace deprecated .change( handler ) with .on( 'change', handler ) * Tweak - Replace deprecated .change() with .trigger('change') * Tweak - Replace deprecated .focus( handler ) with .on( 'focus', handler ) * Tweak - Replace deprecated .focus() with .trigger('focus') * Tweak - Replace deprecated .click( handler ) with .on( 'click', handler ) * Tweak - Replace deprecated .click() with .trigger('click') * Tweak - Replace deprecated .select( handler ) with .on( 'select', handler ) * Tweak - Replace deprecated .select() with .trigger('select') * Tweak - Replace deprecated .blur( handler ) with .on( 'blur', handler ) * Tweak - Replace deprecated .blur() with .trigger('blur') * Tweak - Replace deprecated .resize( handler ) with .on( 'resize', handler ) * Tweak - Replace deprecated .submit( handler ) with .on( 'submit', handler ) * Tweak - Replace deprecated .scroll( handler ) with .on( 'scroll', handler ) * Tweak - Replace deprecated .mousedown( handler ) with .on( 'mousedown', handler ) * Tweak - Replace deprecated .mouseover( handler ) with .on( 'mouseover', handler ) * Tweak - Replace deprecated .mouseout( handler ) with .on( 'mouseout', handler ) * Tweak - Replace deprecated .keydown( handler ) with .on( 'keydown', handler ) * Tweak - Replace deprecated .attr('disabled', 'disabled') with .prop('disabled', true) * Tweak - Replace deprecated .removeAttr('disabled') with .prop('disabled', false) * Tweak - Replace deprecated .attr('selected', 'selected') with .prop('selected', true) * Tweak - Replace deprecated .removeAttr('selected') with .prop('selected', false) * Tweak - Replace deprecated .attr('checked', 'checked') with .prop('checked', true) * Tweak - Replace deprecated .removeAttr('checked') with .prop('checked', false) = 1.4.6 - 2021/03/09 = * This maintenance release is for compatibility with WordPress 5.7 * Tweak - Test for compatibility with WordPress 5.7 = 1.4.5 - 2021/01/12 = * This maintenance release has 2 JS bug fixes. * Fix - jQuery Scroll Bug in 1.4.4 while upgrade jQuery * Fix - JavaScript undefine variable while page load does not have element = 1.4.4 - 2020/12/30 = * This is an important maintenance release that updates our scripts for compatibility with the latest version of jQuery released in WordPress 5.6 * Tweak - Update JavaScript on plugin framework for work compatibility with latest version of jQuery * Fix - Replace .bind( event, handler ) by .on( event, handler ) for compatibility with latest version of jQuery * Fix - Replace :eq() Selector by .eq() for compatibility with latest version of jQuery * Fix - Replace .error() by .on( “error” ) for compatibility with latest version of jQuery * Fix - Replace :first Selector by .first() for compatibility with latest version of jQuery * Fix - Replace :gt(0) Selector by .slice(1) for compatibility with latest version of jQuery * Fix - Remove jQuery.browser for compatibility with latest version of jQuery * Fix - Replace jQuery.isArray() by Array.isArray() for compatibility with latest version of jQuery * Fix - Replace jQuery.isFunction(x) by typeof x === “function” for compatibility with latest version of jQuery * Fix - Replace jQuery.isNumeric(x) by typeof x === “number” for compatibility with latest version of jQuery * Fix - Replace jQuery.now() by Date.now() for compatibility with latest version of jQuery * Fix - Replace jQuery.parseJSON() by JSON.parse() for compatibility with latest version of jQuery * Fix - Remove jQuery.support for compatibility with latest version of jQuery * Fix - Replace jQuery.trim(x) by x.trim() for compatibility with latest version of jQuery * Fix - Replace jQuery.type(x) by typeof x for compatibility with latest version of jQuery * Fix - Replace .load( handler ) by .on( “load”, handler ) for compatibility with latest version of jQuery * Fix - Replace .size() by .length for compatibility with latest version of jQuery * Fix - Replace .unbind( event ) by .off( event ) for compatibility with latest version of jQuery * Fix - Replace .unload( handler ) by .on( “unload”, handler ) for compatibility with latest version of jQuery = 1.4.3 - 2020/12/08 = * This maintenance release has tweaks for compatibility with WordPress major version 5.6 and PHP version 7.4.8 * Tweak - Test and Tweak for compatibility with PHP 7.4.8 * Tweak - Test for compatibility with WordPress 5.6 = 1.4.2 - 2020/08/08 = * This maintenance release is for compatibility with WordPress major version 5.5 and WooCommerce 4.3.1. * Tweak - Test for compatibility with WordPress 5.5 * Tweak - Test for compatibility with WooCommerce 4.3.1 = 1.4.1 - 2020/04/02 = * This maintenance release is for compatibility with WordPress major version 5.4, WooCommerce 4.0.1, PHP 7.4 with 4 PHP code fixes * Tweak - Plugin Framework fully refactored to Composer for cleaner code and faster PHP code on admin panels * Tweak - Update plugin for compatibility with new version of plugin Framework * Tweak - Test for compatibility with WordPress 5.4 * Tweak - Test for compatibility with WooCommerce 4.0.1 * Fix - Update global ${$this- to $GLOBALS[$this to resolve 7.0+ PHP warnings * Fix - Update global ${$option to $GLOBALS[$option to resolve 7.0+ PHP warnings * Fix - Update less PHP lib that use square brackets [] instead of curly braces {} for Array, depreciated in PHP 7.4 * Fix - Validate to not use get_magic_quotes_gpc function that are depreciated in PHP 7.4 = 1.4.0 - 2019/12/18 = * This feature release has a lot. PHP is upgraded to Composer PHP Dependency Manager, a full security review and compatibility with WordPress 5.3.1 * Feature - Plugin fully refactored to Composer for cleaner and faster PHP code * Tweak - Remove the hard coded PHP error_reporting display errors false from compile sass to css * Tweak - Test for compatibility with WordPress 5.3.1 * Dev - Replace file_get_contents with HTTP API wp_remote_get * Dev - Ensure that all inputs are sanitized and all outputs are escaped = 1.3.6 - 2019/10/14 = * This is a maintenance update with code tweaks for compatibility with content created by Gutenberg blocks * Tweak - Keep custom attribute of heading for example style or class so that does not affect what it shows on frontend * Tweak - Use custom anchor if the heading have entered * Tweak - Make compatible with content created with Gutenberg blocks = 1.3.5 - 2019/09/03 = * This upgrade is for compatibility with Responsi Framework 7.6.0 * Refactor - Rewrite frontend HTML, CSS, JS and Variables Class and ID names to the new framework 7.6.0 namespaces * Refactor - Rewrite customizer HTML, CSS, JS and Variables Class and ID names to the new framework 7.6.0 namespaces * Refactor - HTML, CSS, JS and Variables Class and ID names called from the framework making plugin file sizes smaller and faster to load = 1.3.4 - 2019/07/25 = * This upgrade is for compatibility with Responsi Framework 7.5.0 * Refactor - All plugin CSS and JS from Class ID to Class name for new Responsi Class names. = 1.3.3 - 2019/06/29 = * This is a maintenance upgrade to fix a potentially fatal error conflict with sites running PHP 7.3 plus compatibility with WordPress v 5.2.2 * Fix - PHP warning continue targeting switch is equivalent to break for compatibility on PHP 7.3 = 1.3.2 - 2019/01/04 = * This maintenance update is for compatibility with WordPress 5.0.2 and PHP 7.3. It also includes performance updates to the plugin framework. * Tweak - Test for compatibility with WordPress 5.0.2 and WordPress 4.9.9 * Tweak - Create new structure for future development of Gutenberg Blocks * Framework - Performance improvement. Replace wp_remote_fopen with file_get_contents for get web fonts * Framework - Performance improvement. Define new variable `is_load_google_fonts` if admin does not require to load google fonts * Credit - Props to Derek for alerting us to the framework google fonts performance issue * Framework - Register style name for dynamic style of plugin for use with Gutenberg block * Framework - Update Modal script and style to version 4.1.1 * Framework - Update a3rev Plugin Framework to version 2.1.0 * Framework - Test and update for compatibility with PHP 7.3 = 1.3.1 - 2018/05/26 = * This maintenance update is for compatibility with WordPress 4.9.6 and WooCommerce 3.4.0 and the new GDPR compliance requirements for users in the EU * Tweak - Test for compatibility with WordPress 4.9.6 * Tweak - Check for any issues with GDPR compliance. None Found * Framework - Update a3rev Plugin Framework to version 2.0.3 = 1.3.0 - 2018/02/13 = * Feature Upgrade - This upgrade features full integration with newly launched a3rev Dashboard including a prompt to upgrade from a3 License manager to a3rev Dashboard plus compatibility with WordPress 4.9.4. * Feature - Upgrade License key auto upgrades and support to a3rev Customer account authorization. * Feature - Post and reply to support tickets right from the a3rev Dashboard Support interface. * Feature - Updating a3 License manager plugin removes it and uploads the new a3rev Dashboard plugin. * Feature - License key no longer used to activate auto updates and upgrades and support. * Feature - Install a3rev Dashboard plugin and authorize it by using your a3rev.com account username and password. * Feature - Manage your account and all a3rev premium plugins from your a3rev Dashboard * Feature – plugin support tickets can be posted and replied to from the a3rev Dashboard support interface. * Framework - Update a3rev Plugin Framework to version 2.0.2 * Framework - Add Framework version for all style and script files * Framework - Update Check Now feature for compatibility with a3rev Dashboard 2.3.0 * Tweak - Remove OLD license manager and tracking code * Tweak - Test for compatibility with WordPress 4.9.4 = 1.2.2 - 2017/10/03 = * Tweak - Tested for full compatibility with WordPress 4.8.2 * Fix - jQuery conflict scroll js don’t get offset().top. Was breaking js and widget content could not load * Fix - Update plugin script for get correct element when showing on mobile = 1.2.1 - 2017/06/21 = * Tweak - Tested for compatibility with WordPress major version 4.8.0 * Tweak - Change global $$variable to global ${$variable} for compatibility with PHP 7.0 * Tweak - Removed auto redirect to plugins admin panel on activation * Tweak - Update a3 Revolution to a3rev Software on plugins description * Tweak - Added Settings link to plugins description on plugins menu * Tweak - Removed tracking code from plugin * Tweak - Removed auto upgrading code from plugin * Tweak - Remove confirm license key form at first activate the plugin * Tweak - Can use the plugin without enter license key but can’t auto upgrade when have new version * Tweak - Update plugin framework to latest version * Tweak - Tested for full compatibility with PHP 7.0 * Fix - Update plugin script for the navbar open on mobile = 1.2.0 - 2016/04/19 = * Feature - Define new 'Background Color' type on plugin framework with ON | OFF switch to disable background or enable it * Feature - Define new function - hextorgb() - for convert hex color to rgb color on plugin framework * Feature - Define new function - generate_background_color_css() - for export background style code on plugin framework that is used to make custom style * Tweak - Change on load script so that they are loaded with correct order * Tweak - Change call action from 'wp_head' to 'wp_enqueue_scripts' and use 'wp_enqueue_style' function to load style for better compatibility with minify feature of caching plugins * Tweak - Change call action from 'wp_head' to 'wp_enqueue_scripts' to load google fonts * Tweak - Define new 'strip_methods' argument for Uploader type, allow strip http/https or no * Tweak - Register fontawesome in plugin framework with style name is 'font-awesome-styles' * Tweak - Saved the time number into database for one time customize style and Save change on the Plugin Settings * Tweak - Replace version number by time number for dynamic style file are generated by Sass to solve the issue get cache file on CDN server * Tweak - Update core style and script of plugin framework for support Background Color type * Tweak - Update plugin framework to latest version * Tweak - Tested for full compatibility with WordPress major version 4.5 = 1.1.0 - 2015/12/11 = * Feature - Update plugin activation and auto Upgrade script for integration with new Responsi Premium Pack plugin * Feature - Added full support for Right to Left RTL layout on plugins admin dashboard. * Tweak - Upgrade media uploader to New UI of WordPress media uploader with WordPress Backbone and Underscore * Tweak - Update the uploader script to save the Attachment ID and work with New Uploader * Tweak - Updated a3 Plugin Framework to the latest version * Tweak - Tested for full compatibility with WordPress major version 4.4 = 1.0.6 - 2015/09/07 = * Fix - Delete check new version transient when transient_timeout is deleted by WordPress 4.3 get_transients function so call to a3api for new version still works. * Fix - Change timeout of call to a3API for updates from 45 seconds to 8 seconds to resolve the server PHP timeout 30 seconds default. Server timeout before call finish was causing the 24 hour cron call not to be set and causing the dashboard to load slowly if a3API is not reachable. * Fix - Set 24 hours cron before call to a3API so that if have fail to connection then it will call in 24 hours on Cron instead of continue call each time Dashboard is loaded = 1.0.5 - 2015/08/22 = * Tweak - Tested for full compatibility with WordPress major version 4.3.0 * Tweak - include new CSSMin lib from https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port into plugin framework instead of old CSSMin lib from http://code.google.com/p/cssmin/ , to avoid conflict with plugins or themes that have CSSMin lib * Tweak - Make __construct() function for 'Compile_Less_Sass' class instead of using a method with the same name as the class for compatibility on WP 4.3 and is deprecated on PHP4 * Tweak - Change class name from 'lessc' to 'a3_lessc' so that it does not conflict with plugins or themes that have another Lessc lib * Tweak - Added new options into Settings -> Permalinks page on Dashboard * Fix - Check 'request_filesystem_credentials' function, if it does not exists then require the core php lib file from WP where it is defined = 1.0.4 - 2015/06/29 = * Fix - Added fallback cron job schedule to fix License Key deactivation bug that occurs when call to server returns null for server name when checking key status for auto Maintenance and Feature upgrades = 1.0.3 - 2015/06/10 = * Fix - Check 'request_filesystem_credentials' function, if it does not exists then require the core php lib file from WP where it is defined = 1.0.2 - 2015/06/03 = * Tweak - Tested for full compatibility with WordPress Version 4.2.2 * Tweak - Security Hardening. Removed all php file_put_contents functions in the plugin framework and replace with the WP_Filesystem API * Tweak - Security Hardening. Removed all php file_get_contents functions in the plugin framework and replace with the WP_Filesystem API * Fix - Update dynamic stylesheet url in uploads folder to the format //domain.com/ so it's always is correct when loaded as http or https = 1.0.1 - 2015/04/21 = * Tweak - Tested and Tweaked for full compatibility with WordPress Version 4.2.0 * Tweak - Update style of plugin framework. Removed the [data-icon] selector to prevent conflict with other plugins that have font awesome icons = 1.0.0 - 2015/03/16 = * First working release * Create Github private repo * Create Amazon S3 bucket for downloads * Add License and configure with a3rev and a3API databases