HEX
Server: LiteSpeed
System: Linux eko108.isimtescil.net 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: uyarreklamcomtr (11202)
PHP: 7.4.33
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/uyarreklam.com.tr/httpdocs/changelog.txt.tar
var/www/vhosts/uyarreklam.com.tr/httpdocs/wp-content/plugins/so-widgets-bundle/changelog.txt000064400000276726151534615630026553 0ustar00== Changelog ==

= 1.68.2 - 03 May 2025 =
* Icon Field: Fixed icon callback support to ensure proper rendering of custom icons.
* Posts Selector: Resolved fatal error related to date query handling.
* Price Table: Added `siteorigin_widgets_price_table_button_attributes` filter for enhanced button customization.
* Video Player: Fixed self-hosted video embeds and improved FitVids integration by triggering after unblock and resize events.
* General: Updated documentation and readme files for improved clarity and consistency.

= 1.68.1 - 12 April 2025 =
* Widgets Bundle Blocks: Resolved widget migration error by improving widget registration process and maintaining widget list integrity.

= 1.68.0 - 10 April 2025 =
* Accordion: Fixed custom sized icon output to maintain correct dimensions.
* Blog: Added "Always Add Read More" setting and made it enabled by default.
* Widgets Bundle Blocks: Added SiteOrigin category with custom icon.
* Widgets Bundle Blocks: Improved block and widget registration process.
* Widgets Bundle Blocks: Enhanced font consistency and fixed widget prefix issues.
* Widgets Bundle Blocks: Added container query support for external media fields.
* Widgets Bundle Blocks: Resolved map consent preview issues.
* Widgets Bundle Blocks: Improved migration permission checks and widget existence verification.
* Contact: Removed unused form ID field.
* Features: Added title and content classes for settings.
* Features: Resolved text design settings specificity issues.
* Icon Field: Improved responsive handling.
* Icon Field: Enhanced vertical alignment.
* Icon Field: Maintained min-height and padding settings.
* Media Field: Added container query support for external fields.
* Media Field: Increased external field breakpoint.
* Media Field: Improved external handling.
* Post Carousel: Added posts_limit support.
* Posts: Added "Maximum Posts to Output" field.
* Repeater Table: Added support for SelectorArray.
* Section Form Field: Set font size to prevent override in Twenty Twenty theme.
* General: Added widget backup functionality with filter to disable.
* General: Optimized widget SVG banners.
* General: Added block editor icons.
* General: Improved Elementor guest post type handling.

= 1.67.2 - 20 March 2025 =
* Call To Action: Cleared floats to prevent content overflow.
* Contact: Fixed Really Simple Captcha functionality.
* Video Player: Improved hide controls handling, prevented self-hosted videos from not autoplaying, ensured hide controls setting doesn't affect externally hosted videos, and fixed missing media elements in external videos.
* General: Prevented JavaScript variable declaration conflict with 'sowb' identifier.

= 1.67.1 - 18 March 2025 =
* Posts Query: Added no results text for improved user feedback.
* Posts Query: Enhanced autocomplete functionality to pass post ID.
* Video Player: Added click-to-play functionality for self-hosted videos.
* General: Implemented manual widget block tests.

= 1.67.0 - 17 March 2025 =
* SiteOrigin Widget Block: Transitioned from a single multi-select block to dedicated individual blocks for each widget, significantly improving the block editor experience.
* Blog: Improved author avatar sizing and prevented false positive Web Application Firewall (WAF) flags.
* Cards, Post Carousel: Enhanced resize handling after posts are loaded and fixed dot navigation.
* Google Maps: Resolved type check issues.
* Post Carousel: Implemented sizing improvements.
* Recent Posts: Prevented WAF blocking.
* General: Added more info link to legacy block and implemented preview check for widget blocks.
* Developer: Updated Google Fonts and Font Awesome libraries.

= 1.66.0 - 01 March 2025 =
* Carousel: Improved resize handling by delaying events, ensuring adaptive height application and correct breakpoints, and reorganizing layout.
* Cards Carousel, Post/Card Carousel: Maintained fixed container height after resize and fixed second dot display.
* Contact: Resolved notice for missing name field, removed additional select margin, added aria-describedby support, and moved description inside the field container.
* Contact Description: Added top margin setting.
* Editor: Removed wp_targeted_link_rel from output.
* Google Maps: Fixed MapStyles icon notice, ensured custom Map Styles JSON validation, prevented undefined Map ID issues, updated Map ID description, added Map ID setting, and restored * support for Map Styles.
* Video, Video FitVids: Improved video JS loading and skinable host detection, removed skinable host requirement, and ensured FitVids always enqueues.
* General: Added WP Optimize support, introduced siteorigin_sanitize_json helper, and resolved notice related to active widget area script detection.

= 1.65.1 - 05 February 2025 =
* Carousel: Fixed `Dynamic Navigation` potential to be applied when disabled.
* Contact Form: Fixed Browser Check setting.

= 1.65.0 - 03 February 2025 =
* Blog: Added support for `siteorigin_widgets_blog_post_meta`.
* Blog: Added a fallback for undefined `post_type` to avoid errors.
* Blog: Reset filter categories when the template doesn't support them.
* Carousel: Improved adaptive height so the slider adjusts based on all visible items.
* Contact Form: Added a check to ensure the "To" and "From" email addresses aren't identical, improving deliverability.
* Contact Form: Introduced settings for submit button hover/focus styling (background, border, and text colors).
* Contact Form: Added design options for success messages.
* Contact Form: Applied title case to admin labels for consistency.
* Contact Form: Improved field handling by switching to Widgets Bundle instance storage and refining form name management to prevent conflicts.
* Contact Form: Resolved warnings related to undefined array keys in the contact widget.
* Contact Form: Adjustment to always set up reCAPTCHA when in use.
* Contact Form: Improved developer email handling and layout directory email.
* Google Maps: Replaced the deprecated `google.maps.Marker` with `AdvancedMarkerElement` to address deprecation notices.
* Google Maps: Moved widget configuration from siteorigin-panels and updated admin texts for translation.
* Icon Field: Improved icon caching in the Block Editor to reduce redundant icon fetch requests.
* Image: Prevented empty `<img>` output when no image is set.
* Post Carousel: Changed autoplay to a preset field and improved continuous scrolling handling.
* Post Carousel: Added a filter for valid widget instances in Ajax handling and refactored the Ajax code.
* Taxonomy: Removed the preview button since this widget relies on the loop.
* Block Editor Select: Adjusted spacing so the text no longer touches the chevron.
* Multi-Measurement: Fixed a potential `NaN` value issue when no value is present.
* Multi-Measurement: Fixed value update issues when no state handler is present.
* Onclick: Added Popup Maker support and ensured a semicolon is appended to prevent syntax errors.
* Default Form Options: Added widget form field support so defaults are now saved correctly.
* Section Defaults: Resolved a TypeError in widget sections.
* Select2 Form Field: Moved editor CSS to the field stylesheet to prevent conflicts with other plugins.
* Select Form Field Multiple: Fixed a gap issue in the Block Editor.
* Teaser: Resolved dismiss button misalignment and improved overall structure and hover behavior.
* Widget Form: Debounce widget change backups to improve performance during rapid edits.
* WPML: Adjusted editor labels for compatibility with the upcoming WPML 4.7 release.
* Admin: Prevented the aside area from becoming stuck during resize events in the Page Builder.
* getWidgetFormValues: Improved select value performance on Apple devices.
* Added missing i18n domains and fixed non-singular string literal text issues.
* Corrected text domain mismatches.

= 1.64.2 - 18 December 2024 =
* Select: Fixed field name handling to prevent unintended array format in Widgets Bundle forms.

= 1.64.1 - 14 December 2024 =
* Post Carousel: Auto disabled navigation arrows when `Autoplay Continuous Scroll` enabled.
* Simple Masonry: Resolved a potenital error.
* Posts & Links Fields: Improved post and taxonomy search functionality; added user capability checks and no results handling.
* Select2: Removed `multiple` requirement for Select2 usage.

= 1.64.0 - 24 November 2024 =
* Anchor ID: Improved ID handling to better support special characters and international text.
* Author Box: Added Author Name HTML Tag setting.
* Button Grid: Renamed setting `Buttons Per Line` to `Buttons Per Row`.
* Carousels: Resolved minor Block Editor display issues.
* Post Carousel: Added Post Title Font setting.
* Simple Masonry: Improved loading.
* Widget Block: Various admin form styling fixes and improvements.
* Fixed `load_textdomain` notice.
* Improved admin font field performance.
* Updated Google Fonts list.
* Updated Font Awesome from 6.6.0 to 6.7.0.
* Updated Tested up to tag.

= 1.63.0 - 11 August 2024 =
* Button Grid: Update to ensure the Grid Widget doesn't override the settings of unrelated Button Widgets.
* Blog Offset: Increased the author avatar image width.
* Blog: Added `Trim Manual Excerpt` setting. Trim the excerpt even if a manual excerpt has been added.
* Slider: Resolved a potential PHP 8 TypeError.
* Video: Ensured video oEmbed is able to apply full screen.

= 1.62.3 - 23 July 2024 =
* Updated Google Fonts.
* Presets: Hid empty default if `default_preset` is set.
* Blog: Ensured default content size outputs with `px` unit of measurement.
* Developer: Posts Field: Added `show_count` to optionally show the post count.
* Developer: Blog: Addded `siteorigin_widgets_blog_filter_categories_output`.
* Developer: Blog: Added `siteorigin_widgets_blog_content_wrapper_styles`.

= 1.62.2 - 30 June 2024 =
* Improved attribute name handling.
* Button Grid: Accounted for possible warnings.
* Carousel: Improved continuous scrolling behavior.
* Carousel: Update to prevent autoplay in the Block Editor preview.
* Carousel: Resolved potential PHP deprecated warning.
* Lottie Player: Fixed attribute output.

= 1.62.1 - 17 June 2024 =
* Accordion: Aligned Scroll to Offset value with Tabs.
* Button Grid: Resolved a potential layout warning.
* Contact Form: Resolved potential invalid field border.
* Updated Google Fonts.
* Updated Font Awesome.
* Updated SiteOrigin Installer.

= 1.62.0 - 06 June 2024 =
* New Widget! Button Grid: Add multiple buttons in one go, customize individually, and present them in a neat grid layout.
* Blog: Validate title HTML tag before output.
* Slider: Restored Responsive Height setting.
* Tabs: Always trigger `tab_change` event when changing tabs.
* Testimonials: Removed unused SVG.
* Links Field: Reduced width.

= 1.61.1 - 20 May 2024 =
* Button: Resolved Atom theme background error. 

= 1.61.0 - 19 May 2024 =
* New Widget! Recent Posts: Drive traffic to your latest content with a visually appealing, fully customizable recent posts showcase.
* Button: Minor padding adjustments to improve alignment.
* Post Carousel: Add Animation Setting.
* Social Media Buttons: Update to ensure Atom buttons render normally if hover styles are cleared.
* Social Media Buttons: Updated Skype default colors.
* Post Selector: Corrected `date_query_relative` check.
* Resolved fallback shortcode decoding issue.
* Increased the required PHP version.

= 1.60.0 - 26 April 2024 =
* Author Box: Applied title margin directly to wrapper and adjusted alignment.
* Blog: Resolved a potential fatal `TypeError`.
* Blog: Resolved settings warning caused by undefined "settings" array key.
* Carousel: Added `full` navigation output option.
* Features: Improved icon position alignment on desktop and mobile.
* Headline: Resolved a translation issue related to the Tag setting.
* Post Carousel: Minor settings label adjustments.
* Post Carousel: Fixed RTL output.
* Tabs: Updated to use the Anchor ID Manager.
* Query Posts: Date Range: Changed default and minimum to `1`.
* Multi-Measurement Preset: Resolved an issue with saving values.
* Page Builder: Resolved missing widgets in the Add Widget modal.
* Widgets Block: Prevented empty needle warning.
* Number Field: Updated to account for potential null values to prevent deprecated notice.
* Fields: Ensured `$value` isn't null before processing it to resolve `preg_replace()` deprecated notice.
* Deprecated Notices: Resolved `intval` deprecated notice.

= 1.59.0 - 11 April 2024 =
* New Widget! Author Box: Display author information, including avatar, name, bio, and post links in a customizable box.
* Contact Form: Resolved an issue where using multibyte characters (e.g., "מייל" for Email) as field labels prevented the form from being submitted correctly.
* Social Media Buttons: Updated X network color defaults.
* Social Media Buttons: Added Snapshot Square icon.
* Social Media Buttons: Updated Wire theme border default colors.
* Improved icon and font handling.
* Updated Google Fonts list.
* Block Editor: Moved editor check to the main Widgets Bundle class.
* Developer: Added a width argument to text input fields.
* Developer: Added multi-measurement support to the presets field.
* Developer: Removed `tmp_grunion_allow_editor_view`.

= 1.58.12 - 24 March 2024 =
* Post Loop: Resolved a potential `post__in` error.
* Post Loop: Resolved a potential post selector `post__not_in` deprecated warning.

= 1.58.11 - 23 March 2024 =
* Carousel: Resolved a potential warning.
* Features: Correct HTML tag output.
* Slider: Replaced `$.isFunction` usage.
* Social Media Buttons: Updated Tripadvisor title label.
* Video Player: Resolved potential warning.
* Block Editor: Always process shortcodes.
* Color Field: Added support for color hexadecimal values with alpha channel notation (e.g., #RRGGBBAA). Enhanced validation for RGBA color values.
* Post Selector: Resolved a potential deprecated notice.
* Updated SiteOrigin Installer.
* Developer: Added new Contact Form hooks.

= 1.58.10 - 05 March 2024 =
* Enhanced the saving process and validation for widgets and blocks in the Widgets Block.
* Loaded defaults for the widget form field.
* Removed the `unfiltered_html` check in the Editor Widget.

= 1.58.9 - 03 March 2024 =
* Editor: Resolved shortcode output.

= 1.58.8 - 02 March 2024 =
* Button: Resolved a potential alignment warning.
* Contact Form: Resolved a potential deprecated notice.
* Editor: Resolved a potential noreferrer empty text deprecated notice.
* Features: Prevent a potential feature width CSS miscalculation.
* Google Maps: Resolved a potential PHP 8.2+ warning.
* Sliders: Resolved a potential FitVids related error.
* Color Fields: Resolved a potential deprecated notice.
* Text Input: Resolved undesired HTML removal on multisite installations.
* Shifted control for lazy loading images to WordPress.
* Added additional data sanitization.
* Beaver Builder: Resolved an issue on save.

= 1.58.7 - 25 February 2024 =
* Anything Carousel: Corrected global responsive settings propagation.
* Blog: Removed pagination markup if pagination is disabled.
* Blog: Updated pagination screen reader text and level.
* Button: Added `Calendly` to OnClick allowed list.
* Video Player: Resolved potential FitVids warning.
* Repeater Tables: Minor styling updates.
* Textarea: Update to allow line breaks.

= 1.58.6 - 15 February 2024 =
* Added recursive sanitization to fields to prevent potential errors during saving.
* Post Carousel: Prevented a potential fatal error related to the `loop_posts` migration.
* Social Media Buttons: Resolved a potential warning by adjusting the conditions for color changes.
* Social Media Buttons: Removed redundant changes to the `icon_color` and `icon_color_hover` values.

= 1.58.5 - 12 February 2024 =
* Blog: Resolved a potential columns related warning.
* Block Editor: Prevented a potential text field empty value error.

= 1.58.4 - 10 February 2024 =
* Call to Action: Improved tag handling.
* Features: Fixed spacing and gap value output.
* Fields: Improved field sanitization.
* Social Media Buttons: Migrated Twitter to X.

= 1.58.3 - 05 February 2024 =
* Button: Additional improvements for OnClick handling
* Button: Added OnClick support for MailerLite.

= 1.58.2 - 27 January 2024 =
* Button: Restricted OnClick field allowed values to known services and functions.

= 1.58.1 - 26 January 2024 =
* Icon: Prevented a Potential `TypeError`.
* WooCommerce Shop: Check for SiteOrigin blocks within other blocks.
* Developer: Added Contact Form `siteorigin_widgets_contact_form_field_output`.
* Developer: Prevented a potential error when an `ItemLabel` isn't defined.

= 1.58.0 - 18 January 2024 =
* Accordion: Improved accessibility.
* Accordion: Improved the title icon vertical alignment.
* Accordion & Tabs: Adjusted the default header background colors.
* Anything Carousel: Improved cross-browser navigation display.
* Beaver Builder: Resolved SiteOrigin Slider related error.
* Carousel: Disabled the 'previous' navigation button on the first slide when loop functionality is disabled.
* Carousel: Resolved a potential undefined variable notice.
* Carousels: Increased `Animation Speed` default value.
* Carousels: Disabled slide transitions if browser motion is set to `Reduced`.
* Contact Form: Resolved potential submission form error message display.
* Features: Reset before/after spacing to prevent misalignment due to third-party global styles.
* Features: Added a `Feature Spacing` setting.
* Google Maps: Resolved deprecated notice.
* Google Maps: Update to prevent potential data loss when navigating away from the page while editing.
* Layout Slider: Resolved Extra Top Padding unit of measurement output if a value other than `px` is selected.
* Post Carousel: Update to display `Autoplay continuous scroll` if `Autoplay` is enabled.
* Post Carousel: Updated to prevent thumbnail from exceeding display width on mobile.
* Price Table: Added a `Sale Price` setting.
* Price Table: Added HTML support to the Title, Subtitle, Price, and Per fields.
* Price Table: Moved design related settings to a Design settings section.
* Slider: Added `loading` support to the widget's background image.
* Slider: Resolved a potential double-up of background images via HTML and CSS.
* Sliders: Updated to prevent loss of form field focus on input.
* Social Media Buttons: Added Viber.
* Tabs: Improved accessibility.
* Tabs: Updated deprecated KeyCode usage.
* WooCommerce: Re-render the shop page if there are any Widgets Bundle blocks present.
* Updated Google Fonts.
* Updated Font Awesome from `6.4.2` to `6.5.1`.
* Measurement Units: Minor admin styling improvements.
* Admin Radio Form Fields: Improved cross-browser display.
* Select2: Minor styling improvements.
* Developer: Added repeater table item label display option. Allows the repeater to act more like a table.
* Developer: Added `siteorigin_widgets_blog_custom_template` to the Blog Widget. Allows for custom templates to be selected from the Template select.
* Developer: Added box model type indicator classes.

= 1.57.0 - 24 November 2023 =
* Added additional font settings to the Call To Action (CTA) Widget, including Title HTML Tag, Title Font Family, Title Font Size, Subtitle HTML Tag, Subtitle Font Family, and Subtitle Font Size.
* Contact Form: Added an optional `readonly` attribute for the Text Field.
* Contact Form: Added `siteorigin_widgets_contact_fields` filter to allow customization of the email fields.
* Beaver Builder: Fixed an issue with the UI not loading by removing Core BB JS as a dependency.
* Updated the "Tested up to" version in the readme.txt file to 6.4.

= 1.56.0 - 06 November 2023 =
* Anything Carousel: Prevented an autoplay conflict caused by `click` trigger.
* Blog: Added Scroll Top functionality and global setting at `Plugins > SiteOrigin Widgets > Blog`.
* Call To Action: Added new hooks and padding.
* Contact Form: Added RGBA support for `Container Background Color`.
* Contact Form: Resolved warnings related to PHP 8.2.
* Features: Ensured the feature contents is centered rather than aligned to the Container Icon Position.
* Features: Resolved a mobile misalignment when using `Bottom Align More Link Text`.
* Sliders: Added Lazy Load support.
* Video Player: Addd a `Hide Player Controls` setting.
* Beaver Builder: Resolved `Uncaught TypeError: sowbForms.getWidgetIdBase`.
* Admin Metabox: Reset cursor for active tabs.
* Updated SiteOrigin Installer.

= 1.55.2 - 28 October 2023 =
* Improved the sizing of number fields in the admin interface.
* Modified the button widget to only apply flex styling if an icon is set.
* Developer: Added a central method of handling post content in the Blog widget.

= 1.55.1 - 23 September 2023 =
* Resolved right positioned icon overflow and slight vertical misalignment in the Button widget.
* Prevented icon right aligned overlap in the Button widget.
* Restored icon vertical alignment in the Button widget.

= 1.55.0 - 16 September 2023 =
* Blog: Updated the Portfolio template to improve term display for selected post type.
* Blog: Account for possible offset after the first page load.
* Button: Added Icon Size setting.
* Contact: Added multi-measurement support for the Field Margin setting.
* Contact: Added Select2 support to the Dropdown Select field.
* Features: Resolved mobile misalignment with `Align Bottom More`.
* Sliders: Added frame keyboard navigation.
* Video: Update to resolve a YouTube short URL display issue.
* Destination URL Field: Update to fetch post title if using `Post: ID` format.
* Post Query: Update to account for `offset` in the total post count.
* Updated the Google Fonts list.
* Font Awesome: Updated from `6.4.0` to `6.4.2`.
* Added Select2 support.
* Measurement Field: Prevented `Deprecated: strlen()` notice.
* Developer: Added additional hooks to the Contact Form Widget.
* Developer: Added an optional measurement unit parameter to the Number field.

= 1.54.0 - 16 August 2023 =
* Added a new setting called "Center Items" to the Features widget. This setting allows users to center the items if there are fewer features on a line than the maximum.
* Added a new setting called "Skip Post if No Featured Image" to the Blog Portfolio widget. This setting allows users to skip posts without a featured image when the active template is set to "Portfolio".
* Updated the SiteOrigin Installer.

= 1.53.0 - 09 August 2023 =
* Added multi-measurement support for the field margin in the Contact widget.
* Resolved issue with the "Use FitVids" option being locked to enabled in the Slider widget.
* Updated the Simple Masonry, Image, and Image Grid widgets to use the `siteorigin_loading_optimization_attributes` function for better control over lazy loading of images.
* Improved logic in the `siteorigin_loading_optimization_attributes` filter check to avoid potential errors.
* Updated the "Tested up to" version in the readme.txt file to 6.3.
* Reverted changes to the Blog widget that attempted to show correct terms for selected post types due to implementation issues.

= 1.52.0 - 16 July 2023 =
* Added a new setting for Sliders, allowing users to choose the alignment of the pagination dots (left, center, or right).
* Introduced a new field called "Image Shape" to a widget, including necessary CSS styles, PHP class for rendering, and JavaScript for handling behavior.
* Updated the Image Widget to use the new "Image Shape" field.
* Fixed an issue with image shapes being enabled when they shouldn't be.
* Prevented the installer setting from showing if SiteOrigin Premium is active.
* Renamed the `Navigation alignment` setting in the `base-slider.class.php` file to `Pagination alignment` for clarity.
* Updated Build submodule.

= 1.51.0 - 15 July 2023 =
* Added `Google Material Icons / Material Symbols` support.
* Blog: Updated Portfolio to use Image Size for column sizing.
* Blog: Updated Portfolio column width to account for column gutter.
* Hero: Enabled alpha support for frame background color.
* Hero: Update to hide `Background Image` settings if no background image is set.
* Image: Added Image Shapes!
* Slider: Added a `Use FitVids` setting for responsive videos.
* Slider: Added unmute support for YouTube videos.
* Added a check to confirm the ID is valid for widget activation or deactivation.
* Developer: Added `siteorigin_widgets_button_attributes` to Button.

= 1.50.1 - 12 June 2023 =
* Slider: Resolved deprecated warning and improved link alignment.
* Blog: Updated template defaults to include colors with alpha.
* Added Tabs Form Field for improved widget organization.
* Updated Google Fonts with new fonts and weights.
* Updated Font Awesome from version 6.2.0 to 6.4.0, adding new icons.
* Added `siteorigin_widgets_load_cache_compatibility` filter for optional cache compatibility control.
* Various improvements to form fields and code formatting.

= 1.50.0 - 16 May 2023 =
* Button: Update to only apply Hover Text Color if Use Hover Effects enabled.
* Blog: Corrected Portfolio Hover Overlay Opacity migration.
* Carousel: Added compatibility for Virtue Premium home slider.
* Contact: Update to apply `Fields` design settings to `select` field.
* Image: Added `Custom Size > Enforce Dimensions` checkbox.
* Color Fields: Added alpha support.

= 1.49.2 - 03 May 2023 =
* Features: Various adjustments to improve desktop and mobile alignment.
* Image: Update to allow automatic resizing for Custom Size when one value is added.
* Videos: Internally convert short YouTube URLs to full URLs.
* Multiple Media: Resolved issues related to removing items when multiple instances are present.

= 1.49.1 - 26 April 2023 =
* Contact Form: Added a check to ensure PHP GD is enabled before allowing Really Simple CAPTCHA.
* Removed duplicate widget text area.
* Resolved a Parallax Sliders - Legacy Parallax display issue.

= 1.49.0 - 23 April 2023 =
* Features: Updated CSS to Flexbox.
* Features: Added `Space Between Each Feature` setting.
* Features: Ensured all icon alignment states center align on mobile.
* Features: Increased the responsive breakpoint` to 768px.
* Price Table: Added color settings default values.
* Slider: Improved slide background removal.
* Social Media Buttons: Fixed potential `Undefined variable` error.
* Video: Resolved an issue with YouTube video looping.
* Widget Block: Added `siteorigin_widgets_block_exclude_widget`. Developers can exclude widgets from SiteOrigin Widgets Block cache.

= 1.48.0 - 12 April 2023 =
* Slider: Added Height and Responsive Height settings regardless of whether a Foreground Image is present.
* Social Media Buttons: Added Wire Border Color settings.

= 1.47.1 - 04 April 2023 =
* Blog: Fixed Alternate Template featured image mobile collapse.
* Post Carousel: Improved `Thumbnail Overlay` migration.
* Post Carousel: Added `siteorigin_post_carousel_item_template` filter.
* Sliders: Default enabled `Show slide background videos on mobile.`
* Tabs: Addeded `siteorigin_widgets_tabs_always_scroll` filter.
* Font Field: Resolved PHP 8 deprecated notice.
* Textarea Form Field: Resolved PHP 8 deprecated notice.
* Media Field: Minor styling improvement.
* Improved missing widget detection.
* PHP coding standards update.

= 1.47.0 - 30 March 2023 =
* Blog: Added a `Post Title HTML Tag` setting.
* Google Maps: Fixed a potential `Map Style > Predefined Styles` PHP 8.x error.
* Updated Tested up to tag.

= 1.46.7 - 15 March 2023 =
* Developer: Updated Google Maps location `getSimplePlace` a method.

= 1.46.6 - 01 March 2023 =
* Blog: Fixed a potential Alternate Template featured image fallback misalignment and improved responsiveness.
* Blog: Vertically center aligned the Alternate Template featured image fallback image.

= 1.46.5 - 03 February 2023 =
* Repeaters: Restored action icons.

= 1.46.4 - 02 February 2023 =
* Accordion and Tabs: Prevented unexpected scroll.
* Blog: Removed Portfolio `Filter Category` setting requirement.
* Lottie Player: Updated library to `1.6.0`.
* Slider: Removed potential spacing after a slide foreground image.
* Removed unintentional widget asset enqueue in the Classic Editor.
* Widget Block: Resolved Customizer `ReferenceError`.
* Autoptimize: Avoided using strpos with empty string in `include_widgets_css_in_autoptimize`.
* Developer: Updated repeater actions to prevent naming conflicts. 

= 1.46.3 - 23 January 2023 =
* Simple Masonry: Resolved pre-WordPress 5.9 error.
* Resolved potential `mce_external_plugins` missing `editor_id` error.

= 1.46.2 - 14 January 2023 =
* Color Form Field: Added `siteorigin_widget_color_palette` filter.
* Lottie Player: Filtered new media uploads for application files.

= 1.46.1 - 01 January 2023 =
* Contact Form: Added `siteorigin_widgets_contact_validation` filter.
* Widgets Block Editor: Resolve potential TinyMCE related errors.

= 1.46.0 - 23 December 2022 =
* Call To Action: Resolved potential notice.
* Contact Form: Added `Plugins > SiteOrigin Widgets > Contact Form: Scroll Top` setting and `siteorigin_widgets_contact_scrollto_offset` filter.
* Contact Form: Resolved potential Google reCAPTCHA notice.
* Hero: Added Content `Automatically add paragraphs` setting.
* PHP 8 notice fixes.
* Customizer: New widget area `TypeError` fix.
* Removed `@font-face` query strings.
* Developer: Optionally allow repeater maximum number of items to be set.

= 1.45.0 - 07 December 2022 =
* Call To Action: Added `Mobile Button Align` setting.
* PHP 8.1: Resolved form field deprecated notices.
* Developer: Removed `edit-widgets` validation support.
* Developer: Added min/max for number form field.

= 1.44.2 - 03 December 2022 =
* Added WP Rocket compatibility.
* Button: Expanded Font Size, Padding, and Rounding to be more customizable.
* Headline: Prevented a potential notice when adding `mobile_align` defaults to pre-existing instances.
* Image Size Field: Update to display the setting description if available.
* Simple Masonry: Resolved a potential `Undefined array key` warning.
* Developer: Introduced widget validation via `sowbForms.validateFields` and `sow_validate_widget_data`.
* Developer: Update to allow custom color palettes or for palettes to be completely removed on a field by field basis.
* Developer: Pass state emitter field to custom callbacks. Allows developers to detect the field that triggered the emitter.

= 1.44.1 - 25 November 2022 =
* Icon Field: Resolved jQuery Migrate flag.
* Contact Form: Resolved notice when Message field not used.
* Features: Resolved  PHP 8 `Division by 0 Error` if `Features per row` not set.
* Simple Masonry: Changed to use pure CSS (`object-fit`) for sizing images.

= 1.44.0 - 10 November 2022 =
* Anything Carousel: Prevented potential loss of styling when looping items.
* Google Maps: Prevented position reset from affecting the info window.
* Simple Masonry: Added a Layout settings section.
* Simple Masonry: Added Image Title settings.
* Simple Masonry: Removed defaults set to 0.
* Simple Masonry: Removed the `loading` attribute if the preloader is enabled.
* Font Awesome: Resolved Gear icon migration issue.
* TinyMCE Field: Prevented PHP 8 `Uncaught TypeError: TinyMCE plugins filtered incorrectly`.
* Updated `Tested up to` tag to `6.1`.
* Developer: Added an `html` form field.

= 1.43.0 - 13 October 2022 =
* Blog: Improved `Continue reading` output when non-Latin characters are present.
* Blog: Fixed the Grid template responsive collapse behavior.
* Blog: Added a new Post Tags setting.
* Contact Form: Prevented a potential notice when inserting a new form.
* Post Carousel: Ensured navigation dots can appear when arrows are disabled.
* Post Carousel: Increased `Post Title > Color` specificity to avoid potential theme conflicts.
* Widget Block: Removed the Widget Type field label.

= 1.42.2 - 06 October 2022 =
* Blog: Resolved potential incorrect Widget Block pagination URL.
* Blog: Removed the Blog Widget from the Widgets Block cache.
* Updated Google Fonts list.
* Updated Font Awesome 6.1.1 to 6.2.0.

= 1.42.1 - 23 September 2022 =
* Blog: Updated settings CSS specificity.
* Blog: Resolved error when loading posts using Ajax.
* Google Maps: Prevented Google logo from being hidden by theme styles.

= 1.42.0 - 21 September 2022 =
* Blog: Added a `Featured Image Size` setting.
* Blog: Increased Alternate template featured image to full-width on mobile.
* Carousels: Update to only allow positive values in the `Slides to Scroll` and `Slides to Show` settings.
* Contact Form: Added `Honeypot` and `Browser Check` spam prevention settings.
* Editor: Prevented potential error by passing all expected `widget_text` arguments.
* Image Grid: Added `Display Image Title` setting and related options.
* Post Carousel: Added widget preview support.

= 1.41.0 - 13 September 2022 =
* Blog: Adjusted `article` tag CSS to ensure priority over theme styling.
* Blog: Removed featured image center alignment for the Alternate template.
* Blog: Added featured image sizes for the Grid, Alternate, and Portfolio templates.
* Features: Added a new setting `Bottom align More link text.`
* Google Maps: Only setup consent if Google Maps not already setup.
* LiteSpeed Cache: Ensured purge header isn't set if headers already sent.
* Post Carousel: Resolved Overlay Theme `Slides to Scroll` incorrect count.
* Developer: Added `siteorigin_widgets_blog_excerpt_trim` filter.
* Developer: Added `siteorigin_widgets_blog_image_sizes` filter.

= 1.40.2 - 03 September 2022 =
* Blog: Added SiteOrigin Premium Blog Addon CTA.

= 1.40.1 - 30 August 2022 =
* Contact Form: Added a new Dropdown Select setting `Allow multiple selections`.
* Blog: Added a `Sticky` indicator to post meta.
* Blog: Factored numbers into the Excerpt Length count.

= 1.40.0 - 20 August 2022 =
* Blog: Added `Excerpt Length` setting. The excerpt length can also be set using `siteorigin_widgets_blog_excerpt_length`.
* Blog: Resolved a Portfolio template column sizing issue.

= 1.39.0 - 08 August 2022 =
* New Widget! Introducing the SiteOrigin Blog Widget.

= 1.38.3 - 05 August 2022 =
* Anything Carousel: Resolved potential navigation malfunction.
* Post Carousel: Improved partially visible post navigation.
* Improved `style` tag HTML validation.

= 1.38.2 - 27 July 2022 =
* Features: Resolved PHP 8 error when Features Per Row is empty.

= 1.38.1 - 20 July 2022 =
* Contact Form: Resolved a notice if Name and Message fields aren't included.
* Post Carousel: Improved partially visible posts navigation.
* Social Media Buttons: Resolved Email network dissociation on edit and save.

= 1.38.0 - 14 July 2022 =
* Anything Carousel: Added `Adaptive Height` setting.
* Hero: Prevented padding reset on mobile if mobile values are empty.
* Developer: Allow plugins to filter global settings defaults via `siteorigin_widgets_settings_form`.

= 1.37.1 - 08 July 2022 =
* Contact Form: Maintain radio and checkbox input size on iOS.
* Hero: Resolved Extra Top Padding related notice.
* Social Media Buttons: Restored the Phone and RSS icons.

= 1.37.0 - 30 June 2022 =
* Buttons: Changed the design default from Atom to Flat.
* Contact Form: Minor placement adjustment for Really Simple CAPTCHA error messages.
* Hero: Ensured valid mobile padding values are output after settings migration.
* Image: Added an `External Image Size` setting.
* Image: Restored Simple Lightbox plugin compatibility.
* Social Media Buttons: Added Font Awesome 6 support.
* Social Media Buttons: Added Patreon.
* Social Media Buttons: Updated removed Tripadvisor icon to the suitcase icon.
* Font Awesome: Upgraded from version `5.15.1` to `6.1.1`.
* Added Stream protocol support `steam://connect/IP:Port/`.
* Added a check to ensure widgets exist before enqueuing related scripts.
* Developer: Added `siteorigin_widgets_contact_field_attr` filter to the Contact Form Widget.

= 1.36.0 - 19 June 2022 =
* Contact Form: Added support for [Really Simple CAPTCHA](Really Simple CAPTCHA) plugin. A DSGVO complaint captcha.
* Features: Moved the title `HTML tag` setting to the `Font Design > Title` settings section.
* Features: Restored feature column width when `Icon container shape` set to `None`.
* Google Maps: Fixed static maps custom style notice.
* Hero: Fixed Top Padding unit of measurement.
* Sliders: Resolved Modern Parallax jump on load.
* Sliders: Added `anchor-id` attribute.
* Tabs: Removed Anchor ID functionality when disabled.
* Video Player: Standardized YouTube URLs.
* Web Safe Fonts: Added Times New Roman. Alphabetized and updated the CSS font stacks.
* jQuery Migrate: Replaced error shorthand and bind usage. 
* Developer: Sliders - Added `slider_setup_before` and `slider_setup_after` events.
* Developer: Added `siteorigin_widgets_search_posts_order_by` filter. Change post search order results as required.

= 1.35.1 - 25 May 2022 =
* Updated WordPress `Tested up to` tag.
* Accordion: Added a hyphen prior to the panel URL anchor.

= 1.35.0 - 21 May 2022 =
* Contact Form: Added reCAPTCHA V3 support.

= 1.34.0 - 16 May 2022 =
* Icon: Hide icons from screen readers.
* Google Maps: Added Custom Marker Icon image size settings.
* Sliders: Ensured autoplaying YouTube and Vimeo background videos will pause on slide change.
* Widgets Block: Added HTML anchor support located at Block > Advanced.
* CSS Cache Compatibility: Added support for LiteSpeed Cache plugin.

= 1.33.1 - 30 April 2022 =
* Accordion and Tabs: Added support for the SiteOrigin Premium Anchor ID Addon.
* Anything Carousel: Resolved a `Previous Nav Arrow` error.
* Anything Carousel: Improved theme compatibility by preventing nav arrow container overflow hidden.
* Lottie Player: Fixed an error in the closing `</div>` tag.

= 1.33.0 - 23 April 2022 =
* New Widget! Introducing the SiteOrigin Lottie Player Widget.
* Carousel Widgets: Resolved a dot navigation miscalculation when multiple carousels present.
* Features: Improved mobile alignment.
* Image and Image Grid: Added `wp_get_loading_attr_default` to prevent lazy loading above the fold.
* Social Media Buttons: Improved hover behavior and styling.
* Widget Block: Resolved a missing widget author notice.
* Resolved PHP 8 notices.
* Developer: Added `siteorigin_widgets_WIDGET_NAME_lazy_load` filter to manually exclude Image and Image Grid Widgets from lazy loading.
* Developer: Added `siteorigin_widgets_contact_email_headers` to add additional headers to the Contact Form.
* Developer: Added `siteorigin_widgets_tabs_scrollto_offset` to adjust the Tabs `Scroll To` offset.

= 1.32.3 - 08 April 2022 =
* Anything Carousel: Restored Autoplay functionality if Navigation Arrows are disabled.
* Features: Improved CLS by inlining column alignment.
* Hero and Layout Slider: Improved CLS by inlining height value on load.
* Image Grid: Renamed `Display` settings group to `Settings`.
* Updated Google Fonts list.

= 1.32.2 - 23 March 2022 =
* Anything Carousel: Restored arrow functionality. Resolved `Less_Exception_Compiler` notice.

= 1.32.1 - 20 March 2022 =
* Post Carousel: Resolved Autoplay not functioning when Navigation arrows disabled.

= 1.32.0 - 14 March 2022 =
* Post Carousel: Added a new `Autoplay Continuous Scroll` setting.
* Post Carousel: Resolved a potential item tag notice.
* Widgets Block: Resolve error when trying to use disabled third-party widget.
* Widgets Block: Accounted for a potential third-party widgets filename conflict.
* Widgets Block: Added non-SiteOrigin widget author names.
* Widgets Block: Resolved a potential `Undefined index` notice if a widget isn't selected.

= 1.31.0 - 05 March 2022 =
* Post Carousel: Updates to allow for themes to be added.
* Post Carousel: Fixed `Responsive > Tablet > Landscape` settings.
* Post Carousel: Added support for the  Default Thumbnail: External URL field.
* Developer: Added preset field support for state emitters when reopening widgets.
* Developer: Added `siteorigin_widgets_accordion_scrollto_offset` filter.

= 1.30.1 - 22 February 2022 =
* Widgets Block: Prevented a potential notice within the WP admin.

= 1.30.0 - 14 February 2022 =
* Button and Contact Form: Migrated `onclick` to `on_click` to avoid a Worfence flag.
* Call To Action: Remove `Use default background colors` setting.
* Social Media Buttons: Added new settings: `Icon color hover` and `Background color hover`.

= 1.29.2 - 04 February 2022 =
* Widgets Block: Excluded the Contact Form from caching. Resolves error on first submission.

= 1.29.1 - 27 January 2022 =
* Updated `Tested up to` tag to `5.9`.
* Widgets Block: Prevented a potential `Undefined Error` outside of the WP admin.

= 1.29.0 - 15 January 2022 =
* Accordion/Tabs: Removed the Border Radius setting dependency on Border Width.
* Contact Form: Added a new `Enabled` setting to checkbox options.
* Sliders: Disabled `loading` override when the AMP plugin is active.
* Widget Block: Excluded Post Carousel from caching.

= 1.28.0 - 26 December 2021 =
* Accordion: Set closed panels to hidden prior to loading.
* Anything Carousel: Added a new Animation setting. Choose between Ease or Linear.
* Features: Set Feature admin label to Icon title or Title text if available.

= 1.27.0 - 17 December 2021 =
* Price Table: Added new Header, Featured and Feature text color settings.
* Slider Widgets: Prevented potential settings migration error.
* Widget Block: Prevented potential Google Maps error.

= 1.26.1 - 04 December 2021 =
* Carousels: Renamed `Carousel Settings` to Settings.
* WPML: Filter posts listed in widget search fields to current page language.

= 1.26.0 - 17 November 2021 =
* CSS Cache Compatibility: Added support for Breeze and Hummingbird.
* Anything Carousel: Added a ` Slides to show` setting.
* Button: Allowed for apostrophes to be used in the `Onclick` field.
* Hero: Updated buttons to allow the dollar sign to be used.
* Social Media Buttons: Added the Google network.
* Widget Block: Resolved potential edge case Google Maps console errors.
* Widget Block: Minor Icon Widget form styling improvements.

= 1.25.1 - 30 October 2021 =
* Google Maps: Resolved an unexpected content error when previewing in the Block Editor.
* Hero: Migrated Text Shadow setting from a 0-1 to a 0-100 range.
* Sliders: Added a Background video opacity setting for self-hosted and external videos.
* Video Player: Removed Related Videos setting.

= 1.25.0 - 21 October 2021 =
* Features: Added a `Link feature column to more URL` setting.
* Hero and Layout Slider: Moved Layout settings to dedicated section.
* Hero and Layout Slider: Added padding responsive settings.
* Image: Added a `Rel` field. The rel attribute specifies the relationship between the current document and the linked document.
* Image Grid: Added a `Custom Size` option to the `Image size` setting.
* Post Carousel: Prevented potential overflow on load.
* Post and Anything Carousel: Changed `Display navigation` label to `Display navigation arrows`.
* Sliders: Added an `Unmute icon` and `Unmute icon position` for background videos.
* Developer: Added multiple media repeater support.

= 1.24.0 - 08 October 2021 =
* Anything Carousel: Set wrapper to full-width to avoid a potential sizing issue.
* Anything Carousel: Prevented the Widget Styles - Link Color setting from overriding `Arrows color`.
* Anything Carousel: Prevented active navigation dot from displaying a cursor on hover.
* Anything Carousel: Ensured navigation dot activation correct when viewing the last item.
* Button: Prevented potential error by ensuring `$instance` is not empty before modifying it.
* Google Maps: Changed map setup to allow for greater flexibility.
* Post and Anything Carousel: Added a Responsive section `Show navigation` setting.
* Post and Anything Carousel: Migrated design settings to a `Design` section.
* Slider Widgets: Moved the `Loop slide background videos` to within the frame `Background video` section.
* Social Media Buttons: Removed the Google+ network.
* Video Player Widget: Enabled oEmbed for external videos.
* Slider Background Videos: Mute when autoplay is enabled. Required for video autoplay in Chrome.
* WPML: Added a translation compatibility XML file. Requires WPML 4.5.
* Developer: Added a new event for the carousel `carousel_setup`.

= 1.23.1 - 16 August 2021 =
* Anything Carousel: Set wrapper to full-width to avoid potential sizing issue.
* Anything Carousel: Prevented Page Builder widget Links Color setting from overriding navigation arrow color.
* Anything Carousel: Ensured navigation dot cursor is correct on hover.
* Testimonials: Collapse to column for mobile.
* Beaver Builder: Improved color picker styling.
* SiteOrigin Widget Block: Resolved new widget area notice.
* Updated Google Fonts list.
* Minor admin area form styling improvements.

= 1.23.0 - 20 July 2021 =
* Compatibility enhancements for WordPress 5.8.
* Anything Carousel: Resolved responsive behaviour issue.

= 1.22.0 - 15 July 2021 =
* New Widget! Anything Carousel: Display images, text, or any other content in a carousel.
* Headline: Added a global Responsive Breakpoint setting at Plugins > SiteOrigin Widgets > Headline: Settings.
* Headline: Added Mobile Alignment settings for the Headline, Sub Headline, and Divider.
* Layout Builder: Widget Areas: Prevented the creation of a CSS file for every page.
* Slider: Disallowed Jetpack Lazy Loading.
* Video Player: Added `Enable browser video controls` setting.
* Developer: Added a preset form field. Store a selected preset. [Docs](https://siteorigin.com/docs/widgets-bundle/form-building/presets/).
* Developer: Fixed `SITEORIGIN_WIDGETS_DEBUG` constant. Useful for debugging, bypasses widget CSS cache. [Docs](https://siteorigin.com/docs/widgets-bundle/templating/less-stylesheets/).

= 1.21.0 - 24 June 2021 =
* Google Maps: Prevented a jump on load when Info Windows is set to always display.
* Google Fonts: Ensured all weights and styles are imported.
* Headline: Changed default heading to `h2`.
* Hero: Removed the button alignment setting, alignment is handled directly within each slide frame.
* Image: Added a `Link title to URL` setting.
* Image Grid: Added `Image vertical alignment` and `Grid horizontal alignment` settings.
* Post Selector: Added an option to adjust the taxonomy relationship.
* Sliders: Prevented potential PHP 8 error with overlay attribute filter.
* Developer: Added an optional title to the multiple media form field.
* Developer: Improved multiple media non-image support.
* Developer: Added an optional `image_dimensions` parameter for the multiple media field.
* Developer: Added a repeater increment label option.

= 1.20.0 - 01 June 2021 =
* Added integration for WP Super Cache and Swift Performance plugins.
* Button: Added a `Mobile align` setting and global Button `Responsive Breakpoint` setting at `Plugins > SiteOrigin Widgets > Button: Settings`.
* Contact Form: Allowed whitelisted HTML in checkbox option fields.
* Headline: Fixed invalid font property when multiple font variants in use.
* Image: Added native lazy `loading` attribute.
* Image Grid: Added native lazy `loading` attribute for external images.
* Image Grid: Changed `Spacing` setting to a multi-measurement field and renamed it to `Image padding`.
* Sliders: Added `Loop slide background videos` setting.
* Sliders: Improved background video autoplay setting description.
* Sliders: Removed `wp_is_mobile` dependency to improve caching.
* Video Player: Added `Loop` setting for YouTube videos.
* Widget Block: Resolved Contact Form nonce error.
* Widget Block: Resolved `Only variables should be passed by reference` notice.
* Developer: Cleared the Icon Widget default icon if the icon font family doesn't exist.
* Developer: Fixed multiple media remove link detection.

= 1.19.0 - 19 May 2021 =
* Button: Allow shortcodes in `Destination URL` field. Only shortcodes that return a URL are suitable.
* Contact Form: Added a new `Number` field type.
* Image Grid: Changed vertical align to baseline.
* Layout Slider: Added a `slider_control` shortcode.
* Slider: Ensured the foreground image height is only set if a background image is present.
* Sliders: Added `Always show navigation on desktop` setting.
* Social Media Buttons: Added IMDb.
* Video Player: Added FitVids support for fluid width video embeds.
* Widget Block: Added a widget type search field.
* Widget Block: Minor media field responsive improvements.
* Widget Block: Automatically activate inactive widgets as needed.
* Styling improvements to the icon filter fields.
* Responsive improvements to the `Plugins > SiteOrigin Widgets` page.
* Developer: Added a multi-upload field for media.
* Developer: Added an option to disable the TinyMCE form field Add Media button.
* Developer: Added form field class prefix and path filtering using `siteorigin_widgets_field_registered_class_prefixes` and `siteorigin_widgets_field_registered_class_paths`.

= 1.18.2 - 27 April 2021 =
* SiteOrigin Widget Block: Ensured icons are enqueued.
* Slider: Only apply foreground height if a background image is set.

= 1.18.1 - 20 April 2021 =
* Reverted Less `3.1.0` update to restore compatibility for PHP versions below `7.1`.

= 1.18.0 - 20 April 2021 =
* Updated the Google fonts list.
* Updated Font Awesome from `5.14.0` to `5.15.1`.
* Block Editor: Styling fixes including specific fixes for the Twenty Twenty-One theme.
* Contact Form: Set missing message default value.
* Contact Form: Nested the required indicator to make styling easier.
* Editor: Stopped processing the `<!--more-->` quicktag in previews.
* Features: Ensured the title tag exists before outputting.
* Image: Added ability to set custom image sizes.
* Image Grid: Changed to use Flexbox to avoid unintended spacing.
* Post Carousel: Added an overlay hover opacity setting.
* Slider: Added a `Height` setting if the `Foreground image` is set.
* Social Media Buttons: Added Discord.
* Video: Added a `Loop` setting for self-hosted videos.
* Video: If `autoplay` is enabled, `playsinline` will be added.
* Accessibility: Implemented keyboard navigation for the Widgets Bundle admin interface. You can now tab through all fields and settings, and make changes without a mouse.
* Developer: Post Carousel: Added `siteorigin_widgets_post_carousel_post_limit` filter
* Developer: Google Maps: Corrected marker JavaScript property names.
* Developer: Block Editor: Store and serve rendered widget.
* Developer: Image form field: Added an optional parameter `custom_size` to enable custom sizes.
* Developer: State Emitters: Improved media field external support.
* Developer: Sanitized italic fonts rather than clearing them.
* Developer: Replaced older-style PHP type conversion functions with type casts.
* Developer: Add `units` and `default_unit` parameters for the measurement field.
* Developer: Changes for PHP 8.

= 1.17.11 - 09 December 2020 =
* Google Maps: Added Map Style button styling.
* Accordion: Submitted contact forms added to Accordion will now open the panel on load.
* Tabs: Prevented the Scroll To setting from affecting the currently selected tab.
* Image Grid: Use image title as item label if set.
* Developer: jQuery updates for WordPress 5.6.
* Developer: Set Slider background image loading to Eager.
* Developer: Exposed Google Maps instances. Once set up, maps can be accessed via `sowb.SiteOriginGoogleMapInstances`.
* Developer: Add a Google Maps `maps_loaded` event that triggers after all of the Google Maps have finished being set up.

= 1.17.10 - 13 November 2020 =
* TinyMCE: Resolved issue with the Add Media button.

= 1.17.9 - 12 November 2020 =
* Block Editor: Resolved widget preview issue.
* Elementor: Minor admin styling improvements.
* Google Maps: Added a new global consent setting `Require consent before loading Maps API` at `Plugins > SiteOrigin Widgets > Google Maps`.
* Posts Carousel: Added a `Link target` setting.
* Video Player: Mute self hosted videos set to autoplay.
* Tabs: Added a new global setting `Scroll top` at `Plugins > SiteOrigin Widgets > Tabs` to disable scrolling when changing tabs.
* Accordion: Added a new global setting `Scroll top` at `Plugins > SiteOrigin Widgets > Accordion` to disable scrolling when changing accordions.
* Posts Carousel: Added a new `Slides to scroll` setting for desktop, tablet, and mobile.
* Safari: Ensured the Hero can save when used at `Appearance > Widgets`.
* Updated the widget title field to allow HTML in all SiteOrigin widgets.
* Changed to `enqueue` Google Fonts rather than `@import`.

= 1.17.8 - 28 September 2020 =
* Image: Prevent image stretching while using Safari

= 1.17.7 - 10 September 2020 =
* Hero and Layout Sliders: Disable image preload for images added to frames.
* Resolved a preview issue with widgets that attempt to render sub widgets but don't output them.
* Contact Form: Added a field max-width setting.
* Resolved a jQuery Migrate notice on the global widget settings page at `Plugins > SiteOrigin Widgets`.
* Media field: Enhancements to improve usability.
* Disabled Settings buttons while saving global widget settings at `Plugins > SiteOrigin Widgets`.
* State Emitters: Added an animation to conditional settings.
* Posts Carousel: Prevented blank slides loading after all posts are loaded.
* Posts Carousel: Added a new Design settings section and settings.
* Posts Carousel: Ensured the correct navigation buttons are hidden when multiple carousels are in use.
* IE 11: Prevented images from exceeding the widget container.
* Removed wpColorPickerL10n if WP >= 5.5.

= 1.17.6 - 17 August 2020 =
* Hero and Layout Sliders: Disabled lazy loading for images added to the slide content area.
* Slider: Disabled lazy loading in the Block Editor.

= 1.17.5 - 12 August 2020 =
* Slider: Disable WordPress 5.5 Lazy Loading.

= 1.17.4 - 06 August 2020 =
* Post Carousel: Improved support for multiple carousel widgets on the same page.
* Post Carousel: Improved mobile support.
* Sliders: Added `Autoplay` and `Autoplay Pause on Hover` settings to the Slider, Layout Slider and Hero widgets.
* Features: Allowed shortcodes to be used in the Text field.
* Contact Form: Fix to ensure the correct fields are passed to Akismet.

= 1.17.3 - 23 July 2020 =
* Reverted: Features: Prevented icon overlapping text in edge cases.
* Social Media Buttons: Added TikTok.
* Button: Removed `:visited` color targeting.
* Button: Set hover background color defaults.
* Carousel: Improved multi-carousel support.
* Carousel: Triggered click on swipe for mobile devices.
* Carousel: Contextualized variables as needed.
* Carousel: Find the `ItemWidth` as needed rather than predefining it.

= 1.17.2 - 21 July 2020 =
* Resolved button Less CSS bug.

= 1.17.1 - 20 July 2020 =
* Post Carousel: Prevented all posts from outputting. `10` will be output at a time if `Posts per page` isn't set.
* Post Carousel: Inlined navigation buttons if a title is set.
* Updated the Google Fonts array.
* Editor: Added `wp_filter_content_tags` function.
* Updated [Packery](https://packery.metafizzy.co/) to latest version.
* Simple Masonry: Added a `Layout origin` setting.
* Testimonials: Set testimonial text width to `100%`.
* Updated Font Awesome to latest version.
* Image: Added `siteorigin_widgets_image_args` filter allowing adjust all of the widget arguments and attributes.
* Simple Masonry: Added external image support.
* Code Form Field: Removed HTML sanitization.
* Tabs: Added smooth scroll to tab when linked to.
* Added `font-display: block` to all font icons.
* Widget Block: Added `Additional CSS Classes` output.
* Button: Added Button hover style settings.
* Features: Prevented icon overlapping text in edge cases.
* Post Carousel: Resolved IE 11 JavaScript error.
* Post Carousel: Vertically align navigation icons and title when title present.
* Editor: Added `noreferrer` to any target links preventing Layout block failing validation when `target=_blank` link added.
* Hero: Prevented buttons from loading when buttons shortcode isn't added.
* Post Carousel: Added a `Link target` setting.
* Post Carousel: Disable button navigation if number of visible posts is more than total posts.
* Mobile: Improved admin form field responsive behavior.
* Updated Font Awesome from `5.13.0` to `5.14.0`.

= 1.17.0 - 22 May 2020 =
* Simple Masonry: Added a preloader and related settings.
* Post Carousel: Migrated to Slick Carousel.
* Post Carousel: Added RTL support.
* Icon: Added Title field.
* Minor admin interface styling fixes.
* Price Table: Added title for the feature hover text.
* Testimonials: Added `Equalize testimonial height` setting.
* Testimonials: Fixed user image alignment.
* Switched to Wikimedia's fork of less.php.
* Added error suppression for external Less library.

= 1.16.1 - 20 April 2020 =
* Accordion: When hiding panels, only search the current accordion and not nested accordions.
* Slider Widgets: Removed slide navigation numbers from excerpt output.
* Added support for custom icon styles.
* Tabs: Fixed top/bottom tab alignment when tab position is set to right/left.
* Post Carousel: Prevent themes from adjusting the thumbnail top margin.
* Improved the reliability of widget description translations. Updated various widget descriptions.
* Editor: Resolved the notice appearing when post meta wasn't available.
* Simple Masonry: Item labels - If the item title field isn't populated use the image title field.
* Hero: Added a setting to vertically align the slide contents.
* Updated jQuery TouchSwipe.
* Sliders: Fixed pagination spacing when HTML optimization is in use.
* Layout Slider: Set frame labels based on the content inserted.
* Slider: Set frame labels based on the content inserted.
* Contact Form: Added placeholder support to the dropdown select field. Used if the field label position is set to Inside.
* Contact Form: Added Required support for the dropdown select field.
* FontAwesome: Moved Brands to the last position in dropdown list.
* Layout Slider: Added a setting to vertically align the slide contents.

= 1.16.0 - 11 February 2020 =
* Block Editor: Fixed widget select field width and alignment.
* Removed unused template files.
* Contact Form: Improved checking for SiteOrigin development email addresses.
* Minor styling improvements to the Classic and Block Editor admin interfaces.
* Features: Added a new setting to select the H tag to be used for the title field.
* Hero: If a height value is assigned, added prefilling to avoid a page jump.
* Hero: Added `font-display: swap` for Google font imports.
* Layout Slider: If a height value is assigned, added prefilling to avoid a page jump.
* Image Grid: Added a class of `sow-image-grid-image_html` to each image. Can be used to exclude images from Lazy Loading plugins.
* Simple Masonry: Added a class of `sow-masonry-grid-image` to each image. Can be used to exclude images from Lazy Loading plugins.
* Features: Added fallback support for the Icon image field.
* Testimonials: Add fallback support for the Image field.
* Post Carousel: Prevented looping until all posts are loaded.
* Post Carousel: Added a new setting to disable looping.
* Post Carousel: Prevented scrolling past loading items and loop as soon as last item is completely visible.
* Contact Form: Added disabled cursor to submit button when disabled.
* Block Editor: Resolved Features widget default settings.
* Tabs and Accordion: Account for accented characters.
* Social Media Buttons: Allowed for multiple instances of the same network without duplicating colors.
* Social Media Buttons: Ensured all icons are correctly centered.
* Contact Form: Added lightweight validation for phone numbers.
* Block Editor: Display author for third party widgets.
* Block Editor: Added processing for the more quicktag in the Editor widget.
* Tabs and Accordion: Added icon spacing.
* Testimonials: Improved image sizing behavior for square images.

= 1.15.9 - 11 November 2019 =
* Contact Form: Improved default email address handling.
* Contact Form: Improved subject field labeling.
* Post Carousel: Loop the carousel when reaching the end.
* Social Media Buttons: Fixed issue with responsive breakpoint unit of measurement.
* Google Maps: Ensured settings modal window opens when directed to insert API key.
* Google Maps: Fixed map center field when used in the Customizer.
* Fixed compatibility with WordPress 5.3.
* Minor code style and widget label improvements.

= 1.15.8 - 20 August 2019 =
* Run FitText setup on window resize events.
* TinyMCE field: Copy any missing content CSS urls from main editor.
* Post Carousel: Prevent scrolling past the last item.
* Contact Form: Prevent sending to testing/dev emails.
* Widget block: Add `h3` wrapper for widget titles.
* Image widget: Remove `width:inherit;` IE8 fix for bound setting which breaks in IE11.
* Sliders: Added padding to slider navigation arrows.
* Accordion: Check if if anchor is present in URL and scroll to Accordion item.
* Various form description and styling fixes.

= 1.15.7 - 22 May 2019 =
* Widget Block: Ensure changed data is retained after previewing.
* Image widget: Prevent overflow of image container when wrapped in link.
* Image Grid: Dispatch event to notify listeners that layout is complete.
* Image Grid: Fix layout for images wrapped in links.
* Image grid: Use image media title for display if title isn't set in the widget form.
* Layout Slider: Remove header and text style fields.
* Remove Autoptimize cache clearing as it detects changes automatically.
* Update FontAwesome icons.
* Google Maps location field: Ensure value is retained after preview in the block editor.
* Prevent issue in SiteOrigin Layout Block when `sowb` hasn't been defined.

= 1.15.6 - 29 April 2019 =
* Image: Fix images vertical stretching.
* Image: Fix widths for images wrapped in links.
* Google Maps Location Field: Remove some unnecessary use of jQuery to avoid `$ is not a function` errors.
* Google Maps Location Field: Check if matchError exists before accessing.

= 1.15.5 - 25 April 2019 =
* Removed admin notice for new widgets.
* Slider Base Widget: Removed unused background videos height setting.
* Price Table: Recalc equalized heights when window size or orientation changes.
* Google Maps location field: Use value in sanitization if already an array.
* Add compatibility for Autoptimize.
* Simple Masonry: Ensure all available width is used for layout.
* Image: Change alignment to use `display:flex` instead of `text-align`.

= 1.15.4 - 27 March 2019 =
* Slider field: Live updates for display value.
* Widget block: Show error if missing or invalid widget data.
* Google Maps: Add more links to relevant docs for enabling required APIs.
* Google Maps Location field: Catch API key errors and display notice.
* Run FitText resizer on `setup_widgets` too.
* Add font url as property of font info object.
* Image grid: Use opacity for initial hide of images so that size may still be detected.
* Google Maps: Detect draggable or scroll_zoom before running setting migration.
* Accordion and Tabs: Trigger window resize on start of animation.
* Icon: Prevent undefined index notices.

= 1.15.3 - 6 March 2019 =
* Image grid: Fallback support, alt text, use measurement fields.
* Features: Fix responsive layout.
* Google Maps: Update to use gesture handling and separate zoom level for mobile.
* Google Maps: Default height when height field is empty.
* Sliders: Option to always show navigation on mobile devices.
* Accordion: Keyboard navigation.
* Beaver Builder: Fix icons and widgets not saving.
* Video: Allow using YouTube embed URLs.
* Post Carousel: Accessibility improvements.
* Escape namespaced widgets in previews.
* Flag additional metaboxes as incompatible with the block editor.
* Fix state emitters for sub-widget fields.
* Google Maps: Remove API key field from widget form, in favor of global API key field.
* Google Maps: Display notice when API key missing.
* Contact form: Prevent double nonce.
* TinyMCE field: Prevent twemoji from replacing emoji in the textarea.
* Widget block: Show appropriate message when widget is missing or deactivated.
* Accordion: Fix open/close icon layout when set to left position.
* Social Media Buttons: Prevent the phone network from opening in a new window.
* Google Maps: Add map styles filter.
* Image radio field: New field created.
* Posts field: Option to specify allowed post types.
* Contact form: Add description to reCAPTCHA field specifying reCAPTCHA v2.

= 1.15.2 - 18 February 2019 =
* Tabs: Set default tab position to top.

= 1.15.1 - 15 February 2019 =
* Google maps: Use correct locations for static maps.

= 1.15.0 - 14 February 2019 =
* Location field: New specialized admin form field which autocompletes addresses using the Google Maps places library.
* Google maps: Moved global API key override to `modify_instance` to make key available in admin form too.
* Google maps: Auto-migration of locations to new location field format.
* Update LESS PHP library with fixes for PHP 7.3 compatibility.
* Features: Apply text styles to all features content, not just `<p>` tags.
* Social Media: New networks: Bandcamp, Goodreads, Telegram, Strava, Blogger.
* Accordion: Fix issue preventing use of numbers in panel titles.
* Block editor: Preview fixes.
* Beaver Builder compat: Fix widgets failing to update and CSS for FontAwesome icons.

= 1.14.1 - 9 January 2019 =
* Icon field: Set correct value of currently selected icon for non-FA icons.
* Icon field: Avoid requiring that third party icon families include a `filter.php` file.
* Widget block: Use JS array reduce function instead of lodash.
* Allow widgets registered by instance.
* Multi-measurement field: Fix layout.
* Block editor: Send widgetData when fetching widget forms.
* Tinymce field: Prevent JS console errors for hidden fields.
* Order field: Additional sanitization before rendering.

= 1.14.0 - 4 January 2019 =
* Accordion: allow multiple panels with the same title.
* Actions when widgets' CSS files are created/deleted.
* Compat fixes for PHP 7.3
* Indicate when 'setup_widgets' is triggered for previews.
* Accordion: Debounce window.location.hash updates to prevent incorrect states.
* Don't remove FitText window listener to ensure previously set up FitText elements still work.
* Icon field: Show loading indicator while icons are loading.
* Widget documentation links.
* Icons: Update to use latest FontAwesome icon sets.
* Sliders: Resize slides when widgets are set up.
* Elementor compat: Directly enqueue necessary scripts and styles for previews.
* Allow widget headers to be translated.
* Accordion: Keep the clicked panel in the viewport, if it moves out.
* TinyMCE field: Check if tinymce is available before using.

= 1.13.4 - 6 December 2018 =
* Widget block: Fix Layout Slider not being editable.
* Widget block: Correct used of i18n for block editor.
* Widget block: Fix previews.
* Google map: Move global API key override to `modify_instance` to ensure key is available in form.
* Widget block: Prevent multiple API requests.

= 1.13.3 - 15 November 2018 =
* Contact: Fix checkboxes and radio alignment on android.
* FitText: Set minimum font size to ensure readability.
* TinyMCE field: Use correct editor when block editor is present.
* Google maps: Use correct info window text for markers.
* TinyMCE: Remove 'editor-buttons' style enqueue causing conflicts.
* TinyMCE field: Prevent adding multiple copies of media buttons.
* Image widget: if no alt text is supplied add an empty alt attribute.
* Repeaters: Reverted some commits causing multiple issues.
* WP 5: Fixed some styles in the block editor.
* Only setup form fields in the dialog when a PB edit widget dialog is opened.
* Multi-measurement field: Fix autoFill in block editor and attempt to fix in PHP <= 5.3.

= 1.13.2 - 31 October 2018 =
* Builder field: Prevent error in PHP <= 5.4
* Avoid replacing repeater item id placeholders for child repeaters.
* Repeaters: In repeater setup, don't setup child repeaters.

= 1.13.1 - 29 October 2018 =
* Gutenberg: Alert user that changes will be lost when changing the widget type.
* Tabs: Keyboard navigation and more accessibility improvements.
* Google maps: Better geocoding request management.
* TinyMCE field: Use correct selector for checking whether click target is editor switching tab.
* Slider: Option to prevent hiding video on mobile.
* Accordion: Deep-linking for child accordions.
* Use inline CSS fallback if writing to file failed.
* Better FitText compressor description.
* Delete old widget styles when updating widgets.
* Layout Slider: Resoonsive height.
* Accordion: Expand when user is printing.
* Features: Text case adjustments and formatting.
* Beaver Builder: Dark styling.
* Builder field: Allow double-encoding to allow already encoded text in editors.
* Contact form: Prevent adding the anchor again if it's already been added.
* Contact form: Attempt to scroll to contact form after submitting, so result is visible.
* Builder field: Set data correctly from JS.
* Builder field: Don't encode already JSON encoded values.
* Gutenberg: Allow editing page containing deactivated widget.
* Gutenberg: Reset global `$post` after enqueueing widgets' scripts and styles, which might run secondary queries.

= 1.13.0 - 13 September 2018 =
* SiteOrigin Widgets Gutenberg block!
* Google Map: Prevent script from running further if no map canvas elements found.
* Removed style to set `p` margins to zero.
* Check that fallback image for static maps is not an empty string before attempting to use it.
* TinyMCE: Ensure target is one of the editor tabs when switching modes.
* Set values for repeaters which are direct children of section fields.
* Prevent unselected radio input state emitters from affecting form states, when form values are set programmatically.
* Plugin Action Links: Check if edit link is present before removal.
* Social Media Buttons: Added Phone and Angelist. Changed email title text.
* Metabox manager: Set empty post meta string value to array. Ensure metabox widget form values are saved when saving drafts too.

= 1.12.1 - 17 July 2018 =
* Contact: Allow non-string values in required field validation.
* Initialize CTA, Price Table and Video JS widgets correctly when in accordion/tabs widgets.

= 1.12.0 - 11 July 2018 =
* Contact: Add dedicated textarea height.
* Social Media Buttons: Adds WhatsApp social network.
* Features: Allow icon size to use a different unit of measurement.
* Repeater field: Update editor id in media buttons when duplicating item with TinyMCE editor.
* Posts field: taxonomy description.
* Price Table: Disable equalized row heights on mobile.
* Beaver Builder: Force icon fonts.
* Slider widgets: Added autoplay option for background videos.
* Maps: Renamed Google maps script to more sensible `sow.google-map.js`
* Editor: Prevent errors when visual editing is disabled for a user.
* Optimized images.
* Accordion/tabs: Trigger 'setup_widgets' to ensure any widgets in panels are initialized correctly.
* Contact: Use 'From' email address if there is no email field in the form.
* Hero: Filter out the align field in the button sub-widget form.
* Testimonials: Switch mobile and tablet resolution width field descriptions.
* Posts field: Allow clearing dates.
* Font field: Use correct value for 'Helvetica Neue' and added 'Arial' option.
* TA: Additional setting to allow clearing the default background colors.
* Contact: Allow a value of '0' for required fields and subject values.

= 1.11.8 - 12 April 2018 =
* Added action just before rendering widget previews.
* Editor: Removed `unwpautop`.
* Editor: Ensure TinyMCE field knows whether to apply `autop` or not.
* Editor: Only apply `autop` on display when using HTML editor.
* Editor: Prevent `widget_text` filters from running `do_shortcode`.

= 1.11.7 - 23 March 2018 =
* Image: Add title alignment setting.
* Button: Add max-width to ensure buttons are responsive.
* Hero: New filter for frame content 'siteorigin_hero_frame_content'
* Features: Don't set margin for one column left/right feature.
* Updated widget icons.
* Updated google web fonts.

= 1.11.6 - 14 March 2018 =
* Hero: Add responsive height settings.
* Added pikaday jQuery plugin and register pikaday scripts for front end too.
* Features: item float clearing and padding mobile specific.

= 1.11.5 - 13 March 2018 =
* Features: Better feature padding removal on row ends.
* Sliders: WCAG 2.4.4 compliance.
* Tabs: Hide widget title when no title is set.
* TinyMCE field: Added setting for `wpautop` processing which is on by default.
* Contact: When Gradient disabled, set basic background.
* Beaver Builder compat: Only set SOWB widget form values when editing a SOWB widget.
* Contact: Option to log submitter's IP address.
* Add random number and set `more_entropy` to increase chance of unique form ids.
* Contact: Added 'tel' field type which should show numeric keyboard on mobile.
* Media field: Trigger change event when removing selected image.
* Renamed the PHP LESS parser to `SiteOrigin_LessC` to avoid conflicts.
* Date range field: Prevent initializing date range fields multiple times and ensure date format consistent.
* Register pikaday as common script and enqueue as needed in fields.
* Google Map: Show satellite map type.
* Translation: Add context to From strings.
* Add missing semicolons to Ionicons codes.

= 1.11.4 - 7 February 2018 =
* Slider: Add playsinline for Video backgrounds for iOS.
* Repeater field: Trigger change events for repeater when adding, removing or duplicating items.
* TinyMCE field: Removed special handling for TinyMCE fields when retrieving data. Just use field value directly.
* Fixed build overwriting some CSS files.

= 1.11.3 - 10 January 2018 =
* Hero: Add margin-top to so-widget-sow-button for spacing.
* Accordion: Added overflow to prevent Image overlap.
* Google Maps: Always register Google Maps script.
* Social Buttons: Mobile Alignment global widget settings
* Contact Form: Ability to control the width of the submit button.
* Contact Form: Add alignment options for submit button.
* Contact Form: Setting submit button gradient intensity to 0 removes gradient.
* Contact Form: Add success and error hooks.
* Accordion: Don't output widget title if not set.
* Accordion: Icon title collapse fix.
* Contact Form: Add placeholder for field type input.
* Button: Icon placement setting.
* Hero: Adjustable Paragraph text shadow.
* Hero: Add font family setting for paragraphs.
* Hero: Add link color picker.
* Slider field: allow float values and allow specifying step size.
* Contact Form: Add ability to set onclick and id for submit button.
* Features: Add ability to control responsive breakpoint.
* Global Settings: Add support for global settings added by themes.
* Beaver Builder Compat: Don't enqueue assets when all widgets are deactivated.
* Hero: Text font empty check.
* Contact Form: Preserve existing location hash when contact form is submitted.
* Post Selector: Only include current post id in exclusion if singular.
* Copy correct radio values when duplicating repeater items.
* Checkbox field: Parse string value 'false' in checkbox field sanitization.

= 1.11.2 - 27 November 2017 =
* Fix compatibility with Beaver Builder Lite.
* Tabs: Recalculate height on resize.

= 1.11.1 - 24 November 2017 =
* Hero: Allow for shortcodes to work.
* Fix posts field not displaying selected values when multiple selected.
* Widgets Page: Fix missing icon issue on windows.
* Trigger 'hide' and 'show' events in Accordion and Tabs widgets when toggling content.
* Fix Google Maps widget not displaying when map is initially hidden.
* Fix Beaver Builder compatibility.
* Builder field: Pass builder type when setting up builder fields.
* Tabs: Use correct variable for tab anchor.
* Repeater field: Prevent radio inputs values being cleared in repeaters when sorting.
* Accordion: Added title field.
* Fix PHP version compatibility checker errors.

= 1.11.0 - 7 November 2017 =
* New Tabs widget!
* Contact: mention it's possible to send to multiple emails.
* Features: Fixes margin causing extended page.
* Presets field.
* Accordion: Add Repeater Label Title.
* Hero: ability to select an image size.
* TinyMCE field: Remember last selected editor.
* Add rel="noopener noreferrer" for all 3rd party/unknown links.
* Social Media Buttons Widget: comply WCAG 2.4.4

= 1.10.2 - 20 October 2017 =
* Fix for links sometimes not working in slider widgets.
* Fix multi-measurement field labels.

= 1.10.1 - 13 October 2017 =
* Fix subwidget fields initializion when not contained in a section.
* TinyMCE field: fix initialization in repeaters.

= 1.10.0 - 11 October 2017 =
* New Accordion widget!
* Prevent multiple initialization of media field.
* Use correct path for widget banner when defined in a theme.
* Video: Added option to show/hide related YouTube videos at end of video.
* Slider: Handle links inside slider frames first and then allow processing of frame background clicks.
* Give repeated fields in widget fields unique ids for state handling.
* New multi-measurement field.
* Widget Manager Path Comparison fix. (allows for settings to work)
* Button: Use `esc_js` instead of `esc_attr` for onclick.

= 1.9.10 - 14 September 2017 =
* TinyMCE field: fixed issue with filter for TinyMCE plugins.
* Added teaser messages for SiteOrigin Premium addons.

= 1.9.9 - 31 August 2017 =
* Avoid using relative paths in asset URLs.
* Fixed compat with latest Elementor update.

= 1.9.8 - 21 August 2017 =
* Use WordPress functions to exit AJAX actions.
* TinyMCE field: Initialized once.
* TinyMCE field: Simplified switching between TinyMCE and QuickTags.
* TinyMCE field: Check if individual TinyMCE settings are encoded as JSON and decode before re-encoding all settings.
* Some compat fixes for Elementor.
* TinyMCE field: Temporarily disable Jetpack Grunion editor.
* Use correct JS dependencies for Beaver Builder compatibility when `WP_DEBUG` not defined.
* Removed unnecessary enqueues in Beaver Builder compat for dashicons and wp media scripts.
* Post carousel: Only handle horizontal swipes.

= 1.9.7 - 11 August 2017 =
* Contact: Added user configurable field for 'From:' address.
* TinyMCE field: Use editor stylesheets for new TinyMCE editor.
* TinyMCE field: Use UTF-8 encoding for text output.
* Sliders: Check whether `$frames` is empty before using.
* Google Maps: Prevent automatic center for routes.

= 1.9.6 - 4 August 2017 =
* Slider: Background Video: Try embedding the video if oEmbed fails.
* Contact: Added some nonce checks.
* Contact: add reply-to header.
* Remove elementor panel width override.
* Editor: Fix TinyMCE editor button filters in WP >= 4.8.
* Editor: Preserve encoded HTML entities in TinyMCE field.
* TinyMCE field: Added missing `tiny_mce_before_init` filter.

= 1.9.5 - 25 July 2017 =
* Fixed icon field selection.
* TinyMCE field is initialized when quicktags is selected.
* Autocomplete field only initialized once.
* Posts field sanitization handles multiple post types.

= 1.9.4 - 24 July 2017 =
* Using new Editor JS API for TinyMCE field.
* Carousel: apply static position on `.overlay`.
* Layout Slider: Add ability to set Background image to Title and spaced the code.
* Add capabilities check to widget activation action.
* Testimonial: Corrected typo in description and corrected formatting.
* Enabling translation for "From:" in contact mail.

= 1.9.3 - 3 July 2017 =
* Editor: Fix settings form label.
* Don't select the external fallback field as value input.
* Social media buttons: Don't output calls when missing network name.
* Use gettext for widget global settings dialog title.
* Image: Added link attributes to template variables.
* Image grid: Use `get_template_variables`.
* Image grid: Template code structure a bit more readable.
* Simple masonry: Assign link attributes in `get_template_variables`.
* Slider widget: Output link attributes.
* Features: Remove redundant paragraph from template.
* Google Maps: Fix issue when no matches found in maps API error string.
* Google Maps: Mention required Google Maps APIs in field descriptions.
* Google Maps: Localized strings used in JS.
* Elementor 1.5: Ensure widgets' setup scripts are run after editing.

= 1.9.2 - 8 June 2017 =
* Post Carousel: default image for posts without featured images.
* Social Media Buttons: allow empty colors.
* Editor: prevent text processing for cache and post content rendering.
* Post selector field: Fix additional args encoding.
* Post selector field: Fix taxonomy search.

= 1.9.1 - 1 June 2017 =
* Fixed Maps widget JS error.

= 1.9 - 30 May 2017 =
* Compatibility with Visual Composer.
* Taxonomy widget text display.
* Price table widget: option to make feature row heights equal.
* New posts selector field based on other existing fields.
* New autocomplete field. Currently supports showing results from posts and taxonomies.
* New date-range field with option to select specific or relative dates.
* Editor widget: Global widget setting for default 'autop' state.
* Some layout fixes for widget forms in Elementor.
* Google Maps: fallback image when maps API not available or returns error.
* Contact form: Reduced intensity of disabled button styling.
* Google Maps: Fix markers not displaying when queries are rate limited.
* Features: Option to use specified icon size for custom icon images.
* Updated FontAwesome icon set to 4.7.0
* Updated IcoMoon icon set.
* Contact form: Allow duplicate forms on same page.
* Widget temp backup in browser storage.
* Google Maps: Custom marker icon for each marker.
* Option to specify default number of visible rows in icon field.
* Changed PHP LESS compiler to a better maintained version.

= 1.8.6 - 10 May 2017 =
* Editor widget supports Jetpack Markdown.
* Editor widget global setting for enabling/disabling 'autop' by default.
* Allow setting FitText compressor strength in hero and headline widgets.
* Fix variable name in `enqueue_registered_styles`.
* Fix FitText not working previews.

= 1.8.5 - 27 April 2017 =
* Fixed button hover class.

= 1.8.4 - 27 April 2017 =
* Fixed button URLs.
* Removed image `sizes` attribute when Jetpack Photon is enabled.
* Fixed missing widget handling for misnamed widgets.

= 1.8.3 - 26 April 2017 =
* Contact Form: Improved type Validation and added empty name check
* Contact Form: Add Field Design Settings
* Testimonial: Add responsive image sizes settings
* Added checks to prevent PHP warnings
* Improved handling of empty order fields.
* Small code refactoring in price table widget.
* Ensure all SiteOrigin widgets are grouped together in Page Builder.
* Slider: Remove slider sentinel contents to avoid things like duplicated video iframe for embedded videos
* Fix TinyMCE z-index.
* Headline: Fixed typo that tied subheadline new window to headline
* Ensure fittext is done before setting up hero slider.
* Ensure google font fields work in live editors/previews.
* Features: Allow specifying position of features widgets icons.
* Added * next to labels of required fields.
* Make required field indicator optional and display legend when enabled.
* Set default color option in wpColorPicker.
* Small refactor to make more use of `get_template_variables`.
* Button: Added field for `rel` attribute.
* Maps: Added setting for global Google API key.
* Small fix to allow checkboxes to act as 'conditional' state emitters.
* Features: Change text form field to a tinymce field
* Properly work with new Page Builder caching system
* Ensure footer templates only printed when editing with Elementor.
* Small IE8 fix
* Contact: Prevent form fields from having 0px height if no height specified.
* Fixed Google Maps info windows.
* Image: Don't output empty attributes.
* Don't attempt to load maps API if already loaded.

= 1.8.2 - 1 April 2017 =
* Compatibility with upcoming Page Builder 2.5 release.
* Fixed compatibility with Elementor 1.4+.
* Fixed incompatibility with Jetpack.

= 1.8.1 - 3 February 2017 =
* Fixed empty array warning.
* Contact Form: Prevent empty title markup from being echoed.
* Contact Form: Display email after name
* Slider: Account for 0 speed.
* Features: Fix sizing issue when using images instead of icons.
* Use default unit if missing for measurement fields.
* Price Table: Shortcode support for feature text.
* Testimonial: Updated text radius label and fixed resulting functionality.
* Revert change made to post search for link field.
* Link Field: Make sure we have a valid post_types value.

= 1.8 - 31 January 2017 =
* Introduced compatibility system.
* Added compatibility with Elementor and Beaver Builder.
* Ensure radio inputs in repeaters have their checked property set correctly.
* Various Call to Action widget improvements.
* Use `text-align: center;` for features icons.
* Always use HTTPS for Google Webfonts.
* Post Selector: Exclude current post id
* Post Selector: Add filter returned query
* Post Carousel: Prevent empty title output.
* Google Maps: Add ability to set link for Static Map.
* Social Links: Add title field and title attributes for links.
* Features: Add title text field for features
* Button Widget: Add Font setting
* Contact: Add radio field Type
* Taxonomy: New Window Setting
* Added a way of specifying post types for link field.
* Introduced a global widget setup action.

= 1.7.2 - 09 November 2016 =
* Made fixes to pass PHP 7 compatibility checks.
* Image Widget: Get alt and title text from chosen image.
* Replaced markup parser with more actively maintained one.
* Simple Masonry: ensure resize on load
* Image Grid: Allow 0 as valid spacing value.
* Editor Widget: Call `WP_Embed::run_shortcode` on Editor widget content
* Maps: Added missing `typeof` causing maps api not to load properly.
* Icon: Fixed URL output.
* Fixed double slash in URLs.
* Features: Use Measurement fields.
* Apply modify_form to form arrays created in the constructor.
* Contact Form: add email default email subject if no subject defined.

= 1.7.1 - 21 September 2016 =
* Fixed case of Maps widget in sidebar causing an error on pages without that sidebar.
* Fixed icon field CSS.

= 1.7 - 20 September 2016 =
* Added mechanism for creating global widget setting.
* Added mechanism for adding dismissible notices to widget forms.
* Unified Google Maps JS working for maps widget and contact form location field.
* Added icon search for icon field.
* Added remove button to icon field.
* Contact Form: Fixed clash with Firefox field validation.
* Properly display remove button after importing Pixabay image.

= 1.6.5 - 15 August 2016 =
* Fixed dialog z-index.
* Added field required argument.
* Properly trigger change for image search import.
* Sanitize arg can now be a callback.
* Improved multi checkbox field
* Maps: Just call initialization function if maps API already loaded.

= 1.6.4 - 21 July 2016 =
* More settings and customizability for Headline widget.
* Added FitText to Headline and Hero Image widgets.
* Fixed Pixabay image importing.

= 1.6.3 - 19 July 2016 =
* Added image search functionality to media field.
* Moved actions into their own file.
* Allow widgets to provide their own LESS/HTML.
* Added very simple code field.
* Multiple widgets can have the same class. Allowing widget functionality to come from configuration.
* Various tweaks for upcoming Widgets Builder plugin.

= 1.6.2 - 11 July 2016 =
* Fixed Firefox issue in post selector builder.
* Properly escape all uses off add_query_arg.
* Added filter after video

= 1.6.1 - 24 June 2016 =
* Social Links: Fixed auto-filling of network colors.
* Social Links: Added 500px network.
* Social Links: Added title tag to link tags.
* Maps: Prevent JS error in when maps widget script is enqueued but widget isn't displayed.
* Maps: Made API field more prominent as it's now required by the Google Maps API.
* Added more general error checking.

= 1.6 - 21 June 2016 =
* Added builder field.
* Added new multi checkboxes field.
* Added Layout Slider widget.
* Added taxonomy widget.
* Added slider wrapper attributes and filter.
* Fix for measurement field inside a repeater.
* Modified base folder to work independently of Widgets Bundle.
* Added custom icon families callback argument to icon field.
* Properly handle attachments in post selector
* Contact Form: Refactored form fields.
* Hero Image: Added image type to Hero Image widget.
* Button: Handle empty width.
* Image: Added filter for SiteOrigin image attributes.
* Image: Add dimensions to sizes dropdown.
* Maps: Ensure maps widget works with API key.
* Hero Image: Added setting to disable swipe on mobile Hero Image Widget.
* Fixed title syntax in Image widget.
* Video: Correctly get video file mime-types.
* Video Widget: Allow specifying multiple self-hosted video sources to support various formats.

= 1.5.11 - April 11 2016 =
* Fixed features widget container shape setting.

= 1.5.10 - April 5 2016 =
* Added Icon widget.
* Moved widget form arrays into separate functions to improve performance.
* Cache widget style CSS if it can't be saved to filesystem.
* Improved preview checking so preview style CSS isn't stored.
* Contact Form: Improved instance hashing for compatibility with Yoast SEO.
* Contact Form: Added description field and customisation.
* Slider: Ensure correct styles are applied to slider images when a link is defined.
* Features: Allow user to select size for uploaded icon image.
* Price Table: Ensure feature icons always vertically centered, alongside feature text.

= 1.5.9 - February 26 2016 =
* Contact Form: Fixed hash checking for duplicate emails.
* Contact Form: Replace default emails with admin_email.

= 1.5.8 - February 26 2016 =
* Skip empty sidebars when loading widget scripts.
* Changes to cache clearing.
* Typo corrections.
* Fixed conflict with Child Theme Configurator.
* Image Grid widget: Using correct field and image size names to determine image sizes.
* Editor widget: Added shortcode unautop to Editor widget.
* Contact Form widget: Added check to prevent email resends in contact form widget.
* Masonry widget: properly handles full width rows in Page Builder.
* Hero Image widget: Fix backgrounds URL.
* Price Table widget: Skip empty buttons.
* Maps Widget: Allow clicking markers to reopen info windows if closed.

= 1.5.7 - February 4 2016 =
* Restored old class name for Image Grid Widget.

= 1.5.6 - January 23 2016 =
* Fixed widget name migration
* Fixed hero image height issue.
* Fixed admin page layout.

= 1.5.5 - January 21 2016 =
* Changed widget folder names to make them less verbose.
* Properly handle LESS compile errors.
* Fixed regex causing only the first 10 TinyMCE fields to be initialized.
* Fixed sanitization in the contact form.
* Fixed Google webfont function.
* Fixed image output for slider base.
* Image Widget: Added alignment options.
* Contact Form: Use anchor to return to form after submit
* Change default caps to manage options.
* Contact form widget: fixed - form in customizer doesn't resize.
* Price Table: Added image alt tags.
* Editor Widget: Fixed issue where only admins can view unfiltered content.
* Editor Widget: Fixed issue where Editor Widget was removing new lines in code.
* Post Selector Field: Support for date fields.
* Maps Widget: Fixed Lat/Long coordinate handling.
* Masonry widget: fixed layout and sizing.
* Image Widget: Allow display of image title above or below image.
* Added more relative measurement units to base.
* Hero Image Widget: Added height setting.
* Testimonial widget: Prevent outputting related image HTML if no image is set.
* Testimonial Widget: Use testimonial URLs to link location and optionally link names and images.
* Contact Form: Prevent multiple submit button clicks.
* Image Widget: Add support for srcset to Image widget
* Contact Form: Allow user to set field label position.
* Contact Form: Allow user to set field label font styles.
* Contact Form: Allow user setting focussed field outline styles.
* Contact Form: Don't do recaptcha validation in admin preview.

= 1.5.4 - November 18 2015 =
* Fixed compatibility with PHP 5.2

= 1.5.3 - November 17 2015 =
* Fixed defaults for Features widget and Hero Image widget.
* Fixed previewing for Editor widget.
* Change measurement field to work as single string.
* Use new measurement field for existing widgets.
* Carousel widget supports RTL.

= 1.5.2 - November 10 2015 =
* Removed word break style from headline widget.
* Fixed image grid URL field.
* Added more text styling options to features widget.
* Added measurement field to use in various widgets.
* Prefix function name in Google Map widget to prevent conflicts.
* Fixed styling for contact form widget.
* Fix to allow multiple duplicated contact forms on a single page.
* Fixed Hero Image widget button shortcode in text mode.
* TinyMCE fields maintain editor state.
* Added support for WP Canvas Shortcodes in TinyMCE field.
* Don't initialize TinyMCE outside the admin.
* Added more styling to contact form submit button.

= 1.5.1 - October 7 2015 =
* Fixed: Issue with Call To Action widget being missing.

= 1.5 - October 5 2015 =
* Fixed: Conflict between WPML and repeaters.
* Added Simple Masonry Layout widget.
* Added Contact Form widget.
* Added Image Grid widget.
* Added Testimonial widget.
* Changed layout of widgets activation page.
* Added Trianglify to generate placeholder widget icons.
* Added mechanism to use state emitters in repeaters.
* Section expanded/collapsed states now stored across form loads.
* Display once off admin notice when new widgets are available.
* Fixed translation domain.
* Editor Widget: Allow more HTML in Editor widget for trusted users.
* Hero Image Widget: Added top padding setting.
* Hero Image Widget: Can now set background click URL.
* Hero Image Widget: Improved handling of buttons shortcode.
* Slider Widget : Fixed open in new window setting.
* Headline Widget: Added word-break CSS.
* Headline Widget: Added option to set type of heading tags used.

= 1.4.4 - September 6 2015 =
* Fixed issue with slider image widths.

= 1.4.3 - September 5 2015 =
* Added support for WooCommerce Shortcodes plugin to TinyMCE field.
* New streamlined icon selector field.
* Added info window functionality to maps widget.
* Added a button to duplicate repeater items.
* Added more design settings to hero image widget.
* Removed full screen mode from TinyMCE field.
* Option to keep map centered when container is resized.
* Fixed: CSS bug for Google font imports on generated CSS.
* Fixed: Post selector for URL fields properly handles empty titles.
* Added option to skip auto paragraphs in Editor widget.

= 1.4.2 - August 18 2015 =
* Urgent fix in preparation for WordPress 4.3 release

= 1.4.1 - August 17 2015 =
* Updated to latest Font Awesome.
* Added TripAdvisor to social links widget.
* Allow unfiltered HTML in SiteOrigin Editor Widget if user has rights.
* Properly set URL scheme.
* Fixed state emitter issue for Google Maps Widget.

= 1.4 - July 20 2015 =
* Created a base slider widget class.
* Converted current slider widget to use base slider.
* Fixed image sizing in slider widget.
* Added plain background color option to slider widget.
* Added new Hero Image widget.
* Fixed repeaters in sub items.

= 1.3.1 =
* Fix to TinyMCE field when moved in Customizer and Widgets interface.
* Small developer level improvements.
* Fixed autoplay in video widget.
* Fixed behaviour of slides in slider widget.

= 1.3 =
* Added TinyMCE field type.
* All fields now use classes to make them easier to extend.
* Added SiteOrigin Editor widget.
* Made it possible for other plugins to filter default widgets.
* Fixed WordPress CLI compatibility.
* Added unit tests.
* Added networks to social networks widget.
* Changed how repeater HTML is stored.

= 1.2.4 =
* Fixed reference to siteorigin_widgets_is_google_webfont.
* Fixed CSS URL.

= 1.2.3 =
* Fixed Javascript issue with Map widget in customizer.
* Added meta box manager.
* Small style change to flat button style.
* Video widget fixes.

= 1.2.2 =
* Added video widget with support for self/external videos.
* New activate/deactivate widgets interface.
* Headline widget CSS fixes.
* Dev Feature: Error checking for widget field type.
* Dev Feature: Added state emitters.
* Dev Feature: Additional hooks and filters.

= 1.2.1 =
* Removed is_customizer_preview - only available in newer versions of WordPress.

= 1.2 =
* Added headline widget.
* All scripts and styles loaded in header instead of lazy loading.
* Added email to social links widget.
* Made carousel touch friendly.
* Improved input sanitization for HTML input.
* Added nonce request checking in carousel widget.
* Added sticky field to post selector.
* Added function to allow Page Builder to use post selector.
* Added a few developer friendly filters.
* Fixed: Various customizer related issues.
* Fixed: Issue limiting maps widget to 10 markers.
* Fixed: Call to action alignment issues.
* Fixed: Carousel preview.

= 1.1.2 =
* Added social links widget.
* Framework updates.

= 1.1.1 =
* Fixed Google Map preview.

= 1.1 =
* Added powerful Google Maps widget.
* Improved data sanitization.
* Various UI improvements.

= 1.0.6 =
* Fixed issues with adding extra widget folders.
* Added compatibility with WordPress Customizer.
* Added more fields to be used with future widgets.

= 1.0.5 =
* Removed legacy widget deactivation functions.
* Improved how widgets are loaded.

= 1.0.4 =
* Changed how widget list is loaded to fix issue with widgets list not displaying.

= 1.0.3 =
* Features widget icons can now be made clickable.

= 1.0.2 =
* Manage widgets page now does live updates.
* Added widget previews.
* Fixed wire button widget hover issue.
* Old stand alone widget plugins are now deactivated in favor of bundled versions.
* Fixed centering of CTA widget.
* Fixed color settings in CTA widget.
* Fixed button icon color setting.
* Small UI improvements.

= 1.0.1 =
* Clean up of code and bundled widgets.

= 1.0 =
* Initial release.
var/www/vhosts/uyarreklam.com.tr/httpdocs/wp-content/plugins/google-listings-and-ads/changelog.txt000064400000173015151535623020027606 0ustar00*** Google for WooCommerce Changelog ***

= 2.9.13 - 2025-04-29 =
* Update - Revert the changes related to the Grant API Pull Access in Onboarding feature made in version 2.9.12.

= 2.9.12 - 2025-04-22 =
* Add - During onboarding, it requires granting access to Google's WordPress.com application to synchronize product data with Google.
* Add - Event tracking of how users process the WPCOM app authorization for the API Pull feature.
* Fix - The interlink between Google Merchant Center and Google Ads accounts may not be completed.
* Tweak - Enable API Pull authorization to be granted before connecting to Google Merchant Center.
* Tweak - Move the API Pull statuses from Google Merchant Center account card to Google account card for the Settings page.
* Update - Remove the button that disables the API Pull from the Settings page.

= 2.9.11 - 2025-04-15 =
* Fix - Ads merchant linking failure display issue & improve retry mechanism.
* Fix - Compatibility issue with WordPress 6.8 and WooCommerce 9.8, which may cause all pages not to display properly.
* Tweak - WC 9.8 compatibility.
* Tweak - WP 6.8 compatibility.

= 2.9.10 - 2025-03-18 =
* Dev - Add the conversion action details to the connection test page.
* Fix - It may be unable to connect to the auto-selected Google Ads account after disconnecting during onboarding.

= 2.9.9 - 2025-02-18 =
* Fix - Error displayed when accessing campaign assets editing page without attached asset groups.
* Tweak - Opt-in to URL expansion.
* Tweak - Supplement the implementation of API Pull for the Settings page.
* Tweak - WC 9.7 compatibility.

= 2.9.8 - 2025-02-04 =
* Tweak - Replace WooCommerce logo with Woo 2.0 Brand.

= 2.9.7 - 2025-01-28 =
* Tweak - Adjust some query and table functions.
* Tweak - Allow mapping of a Google ID without a prefix.

= 2.9.6 - 2025-01-21 =
* Tweak - Resolve some of the plugin check errors and warnings.
* Tweak - Set specific flags for html_entity_decode.

= 2.9.5 - 2025-01-15 =
* Dev - Fix E2E tests in WC 9.6.
* Dev - Fix tests in WooCommerce 9.6.
* Fix - Avoid the negative shipping rate taken from WooCommerce settings leading to false onboarding completion and make its error message more explicit.
* Fix - Show leaving prompt in Edit Ads Campaign if the form was modified.
* Fix - Sync shipping max times to Google Merchant Center.
* Tweak - Add an admin service provider for WP Admin requests.
* Tweak - Conditionally load job classes.
* Tweak - Consistent usage of ContainerAware.
* Tweak - Pop up confirmation prompt on the Shipping page before saving changes.
* Tweak - Refactor installer class to load dependencies when needed.
* Tweak - Remove unused Http proxy class.
* Tweak - WC 9.6 compatibility.
* Update - Drop support for WordPress < 6.1.
* Update - Move tax rate setup from the Edit free listings page to the Settings page.
* Update - Move the Edit free listings page to a dedicated page and rename the page to Shipping.

= 2.9.4 - 2024-12-25 =
* Fix - Clear previous errors after completing sync.
* Tweak - Adjust conditions for MCM.
* Update - Google Ads API to v18.

= 2.9.3 - 2024-12-18 =
* Dev - Eliminate the duplicate functions used to group shipping time data.
* Dev - Improve E2E tests for related products.
* Fix - Budget Recommendation data not populating on install.
* Fix - PHP 8.4 package compatibility.
* Fix - Prevent duplicate conversion and purchase event tracking.
* Fix - The saved max shipping time is not showing after revisiting the free listings editing page.
* Tweak - Drop Jetpack packages and switch to packages bundled with WooCommerce.
* Tweak - WC 9.5 compatibility.
* Update - Drop support for WooCommerce < 7.9.

= 2.9.2 - 2024-12-11 =
* Dev - Centralize frontend images to the dedicated directory.
* Fix - Ensure coupon brand restrictions are uploaded to Google Merchant Center.
* Fix - Initial php 8.4 compatibility.
* Fix - Prevent Warning when Saving a Variation if YOAST is activated.
* Fix - The country selector in setup/edit free listing flow from being hidden.

= 2.9.1 - 2024-12-03 =
* Fix - Make the tab navigation tabs wrap when the screen narrows.
* Fix - Prevent translations from being called early.
* Fix - The initial values of the form on free listings editing page may be empty.
* Update - New shipping settings.

= 2.9.0 - 2024-11-26 =
* Add - Add GTIN Migration Job.
* Add - Banner for GTIN MIgration.
* Add - Confirmation modal when user skips without creating a campaign during onboarding.
* Add - During onboarding, automatically create Google Merchant Center or Google Ads accounts when the connected Google account doesn't have a respective existing one.
* Add - GTIN Migration API Controller.
* Add - Show promotion for Google Ads campaign on the Dashboard page.
* Add - Show promotion for Google Ads campaign on the Product Feed page.
* Add - Support YOAST SEO GTIN field in the migration tools.
* Add - WP CLI Command for GTIN Migration.
* Dev - Adding tests for GTIN migration tool.
* Dev - Tweak E2E tests for GTIN migration in versions > 2.8.7.
* Fix - Add margin for separating notices in the admin.
* Fix - Hide or disable  GTIN in Product Block editor.
* Fix - Hide/disable GTIN also when YOAST is active.
* Fix - Prevent fatal in GTIN MIgration AS Job.
* Fix rebranding tour on mobile.
* Tweak -  Prepare GTIN with the correct format before sending it to MC.
* Tweak - Adjust plugin version to hide GTIN.
* Tweak - Change to use a banner to present the ad credit offer during onboarding.
* Tweak - Move FAQs to the bottom of pages.
* Tweak - Remove the word "Paid" from the plugin.
* Tweak - Remove unused methods from ProductMetaQueryHelper.
* Tweak - Set the default value of the tax rate to destination-based during onboarding.
* Tweak - Show campaign setup fields immediately during onboarding.
* Tweak - Swap performance cards on the Dashboard page.
* Update - Adjust the minimum average daily cost of a campaign to 30% of the highest recommended value among audience countries.
* Update - Automatically preselect a Google Ads account when there is only one, as well as adjust the UI presentation.
* Update - Change the campaign setup and creation to use the recommended budget as the initial value and adjust its description.
* Update - Consolidate the campaign setup UI in the onboarding flow with the one in the Ads-onboarding flow.
* Update - Hide or disable GTIN field in favor of the new native GTIN located in the WooCommerce Product Inventory tab.
* Update - Hides WordPress.com account connection setting from the onboarding flow if already connected.
* Update - Hides the tax rate setting during onboarding.
* Update - Introduce new UI for Google accounts setup during the onboarding.
* Update - Merge the billing setup into the campaign setup for the Ads-onboarding flow.
* Update - Merge the store address setting in Step 3 of the onboarding flow into Step 1 and remove Step 3 along with the contact phone verification.
* Update - Product adapter to map GTIN value from WooCommerce core field if it's available.
* Update - Remove ads audience field from paid ads setup during onboarding.
* Update - Remove the Pre-Launch Checklist from the onboarding flow.
* Update - Remove the contact phone from the Settings page.
* Update - Remove the language setting from onboarding.
* Update - Restrict the GTIN field based on the version of WooCommerce installed and the initial version of G4W installed.
* Update - When the accounts have been connected before, skip accounts setup step during the Ads-onboarding.

= 2.8.7 - 2024-11-14 =
* Dev - WordPress 6.7 Compatibility: Fix the issue that E2E test can't log in to wp-admin.
* Fix - Remove a Google Ads API vendor file that prints php information.
* Fix - WordPress 6.7 Compatibility: Avoid the block toolbar appearing when interacting blockified product editor.
* Tweak - WC 9.4 compatibility.
* Tweak - WP 6.7 compatibility.
* Tweak - WordPress 6.7 Compatibility: Adjust the layout of the radio control to align well with the extended content.
* Tweak - WordPress 6.7 Compatibility: Avoid errors in the database where a TEXT type can't have a default value.

= 2.8.6 - 2024-10-02 =
* Dev - Fix missing blueprint dependency.
* Tweak - Adjust WP Proxy Response to force the string type for the price fields.
* Tweak - Logic for Delete notifications.

= 2.8.5 - 2024-09-05 =
* Break - Remove WooCommerce Navigation integration.
* Fix - Issue with syncing shipping rates with more than two decimals.
* Fix - Log exceptions triggered by assets being enqueued before being registered.
* Tweak - Use remote-site-status to check the WPCOM Auth status.
* Tweak - WC 9.3.0 compatibility.

= 2.8.4 - 2024-08-28 =
* Dev - Align namespaces for unit tests.
* Dev - Avoid accidentally using the event object to reset the asset group values in the CampaignAssetsForm component.
* Dev - Migrate jest tests to use Node.js 20.
* Dev - Rewrite the replacer of JSON.stringify in getReportKey to ensure it returns the same key regardless of the query keys' order.
* Dev - Upgrade to use Node.js 20 and bump npm dependencies.
* Dev - Use a fixed SKU number when testing product adapter.
* Fix - issue with comma separators for Shipping Rates.
* Tweak - Connect Test Page errors when WPCOM token is not connected.
* Tweak - Make the Tooltip use the new placement prop when WordPress >= 6.4.
* Tweak - Replace deprecated event.keyCode with event.code for the verification code inputs in the contact information setting.
* Tweak - Update the copy in the "Linked accounts" of the accounts connection setting to include Google Ads account.

= 2.8.3 - 2024-08-20 =
* Fix - Return empty array props as empty objects in WCOM Proxy responses.
* Tweak - Display additional context in error message when Google Ads account limit reached.
* Tweak - Upgrade readme details in WPORG.

= 2.8.2 - 2024-08-14 =
* Fix - Disconnecting all accounts when WPCOM connection is not granted.
* Fix - Error when Google Merchant Center account is undefined while checking the notification service enabled property.
* Tweak - Label campaigns for the web version and the WooCommerce Mobile app.
* Tweak - Update FAQS in Getting Started page.
* Tweak - Update WP.org plugin FAQs.
* Tweak - Update WPORG plugin page header image.
* Tweak - Update get started page.
* Tweak - WC 9.2.0 compatibility.
* Update - Block validation to support error context.

= 2.8.1 - 2024-08-06 =
* Add - Enable labeling of Ads campaigns.
* Tweak - Update doc links references.
* Update - Enable Page Size Parameter in Campaigns Endpoint.

= 2.8.0 - 2024-07-31 =
* Add Google API Pull method.
* Rebranding Google Listings and Ads with Google for WooCommerce.

= 2.7.7 - 2024-07-24 =
* Dev - Fix E2E tests failed with WC 9.1.
* Tweak -   Make campaign preview card responsive.

= 2.7.6 - 2024-07-09 =
* Dev - Update connect server URL in test proxy configuration.
* Tweak - WC 9.1 compatibility.
* Tweak - WP 6.6 compatibility.

= 2.7.5 - 2024-06-26 =
* Add - Add an query parameter `campaign=saved` to the dashboard URL after the campaign was created.

= 2.7.4 - 2024-06-25 =
* Add - Integration with the WP Consent API plugin.
* Dev - Add E2E tests for WP Consent API integration.
* Tweak - Add docs note about WP Consent API integration.

= 2.7.3 - 2024-06-18 =
* Fix - Fatal error when loading campaign in the marketing overview section.
* Tweak -  Replace woo.com references with woocommerce.com.

= 2.7.2 - 2024-06-10 =
* Add - Google Ads account invitation acceptance step to the connection process.
* Fix - Show tracking snapshots in WPCLI.
* Tweak - Adjust click event tracking when connecting, disconnecting, and opening billing setup for Google Ads account.
* Tweak - Adjust event tracking for the creating and claim buttons of Google Ads account.
* Tweak - WC 9.0 compatibility.
* Update - Enable users to seamlessly set up conversion tracking, without having to set up merchant center first or requiring campaign creation.
* Update - Move the Google Ads account connection process from step 4 to step 1 of the onboarding flow.

= 2.7.1 - 2024-05-29 =
* Dev - Add info about  Legacy Google Ads API Client Library  in Readme.
* Fix - Prevent PHP Warning when Statistics is null.
* Update - Implement Account Request Review Requests in the extension.

= 2.7.0 - 2024-05-14 =
* Fix - Convert `lbs` to `lb` when mapping WC products to Google products.
* Fix - E2E tests
* Tweak - WC 8.9 compatibility.
* Update - Update Google API to V16.

= 2.6.9 - 2024-05-07 =
* Tweak - Confirm issues are present when retrieving product status.

= 2.6.8 - 2024-04-23 =
* Tweak - Remove deprecated event properties marked as removable after Q1 2024 from the onboarding event tracking.
* Tweak - Update tags in readme.txt.
* Update - Restrict product types to be limited to only 10 when converting from categories.

= 2.6.7 - 2024-04-16 =
* Dev - Add E2E tests for the integration in the classic product editor.
* Dev - Update e2e test environment to install WooCommerce earlier.
* Fix - Exception in request review.

= 2.6.6 - 2024-04-09 =
* Dev - Add snippet to bypass WooCommerce dependency in E2E tests.
* Tweak - WC 8.8 compatibility.

= 2.6.5 - 2024-04-04 =
* Dev - Update test proxy port.
* Tweak - Show Review Inbox Notices when 11 clicks and 1 Conversion.

= 2.6.4 - 2024-03-26 =
* Add - Filter WC REST API responses for gla_syncable param.
* Add - Missing functions for the WPCOM OAuth flow.
* Add - Notify when product changes.
* Dev - Add a manual workflow run for PHP unit tests.
* Update - Refactor Product Stats.

= 2.6.3 - 2024-03-19 =
* Fix - Handle parse JSON exception when Creating Ads Account.
* Fix - Inline Javascript encoding for gtag events.
* Fix - Undefined keys `offers_free_shipping ` or `free_shipping_threshold`.
* Tweak - Add WP 6.5 Require plugins header.
* Update - Newer version of bcmath_compat and phpseclib packages.
* Update - Set default connect server URL to api.woocommerce.com.
* Update is_gtag_page to support Google Analytics for WooCommerce version 2.0.0+.

= 2.6.2 - 2024-03-12 =
* Dev - Fix E2E tests for gtags consent mode.
* Fix - Fatal error when getAdsLinks response is null.
* Fix - WordPress 6.4 Compatibility: The modal closed event is not sent when clicking on its overlay.
* Tweak - WC 8.7 compatibility.
* Tweak - WP 6.5 compatibility.

= 2.6.1 - 2024-03-05 =
* Add - Consider `ga_gtag_enabled=yes` for  WCGAI >= 2.
* Add - Google Analytics consent mode support.
* Add - Support for Google Analytics for WooCommerce version 2.0.0 and above.
* Dev - Avoid the test-data plugin occasionally missing in the E2E test environment.
* Fix - Improve WordPress.com account handling.

= 2.6.0 - 2024-02-27 =
* Add - Support the new product editor (Product Block Editor).
* Dev - Fix the compatibility issue in starting E2E test environment due to the default charset change in MariaDB v11.3.1.
* Fix - 401 handling for connected Ads accounts.

= 2.5.18 - 2024-02-20 =
* Fix - Prevent product queries by IDs if no arguments are supplied.

= 2.5.17 - 2024-02-07 =
* Dev - Add manual QIT workflow.
* Dev - Upload coverage report for JS unit tests to codecov.
* Fix - Only sync selected categories as product type.
* Fix - Prevent notifications from sending request to Google API when disconnected.
* Tweak - WC 8.6 compatibility.

= 2.5.16 - 2024-01-30 =
* Add - Include connected accounts in tracks from the backend.
* Add - Include plugin version, Google Merchant Center account ID, and Google Ads account ID in all frontend tracking events.
* Add - Send the related tracking event with the account ID to be connected when connecting to an existing Google Merchant Center or Google Ads account.
* Add - Tracking for completed events.
* Dev - Generate coverage report with xdebug.
* Fix - Context not tracked in Create Campaign FAQs.
* Fix - WordPress 6.4 Compatibility: Set an appropriate width for the content in the Popover component.

= 2.5.15 - 2024-01-09 =
* Dev - Update link for developer.woo.com.
* Tweak - WC 8.5 compatibility.
* Update - Upgrade google/apiclient for PHP 8.3 compatibility.

= 2.5.14 - 2023-12-18 =
* Dev - Include PHP 8.3 in tested versions for PHPunit.
* Fix - Item price in purchase event.
* Tweak - Track Budgets and Audience in Onboarding.
* Tweak - WC 8.4 compatibility.
* Update - Change to require Google Ads connection during the onboarding.

= 2.5.13 - 2023-12-06 =
* Fix - Change Budget Recommendations values.
* Tweak - Use a single daily budget instead of a range.

= 2.5.12 - 2023-11-22 =
* Dev - Fix E2E gtag events tests.
* Dev - Update WordPress CS to 3.0.
* Dev - Update phpunit polyfills to 1.1 for WP 6.4.
* Tweak - Add filter to be able to build custom shipping method rate handers.
* Tweak - Remove rewrite rules flush.

= 2.5.11 - 2023-11-07 =
* Add - Record tracking events for moving steps on the campaign creation and editing pages.
* Tweak - Add tracking for campaign count.
* Tweak - WC 8.3 compatibility.
* Tweak - WP 6.4 compatibility.
* Update - Use new Woo.com domain.

= 2.5.10 - 2023-10-18 =
* Tweak - Add correct Destinations for Supported Countries in Coupons.
* Tweak - Declare cart_checkout_blocks feature compatibility.

= 2.5.9 - 2023-10-10 =
* Dev - E2E - Setup Google Ads Step 2 - Create your paid campaign.
* Dev - E2E - Setup Google Ads Step 3 - Setup billing data.
* Dev - E2E tests - Track gtag event on specific page.
* Dev - Prevent Prefix Vendor to be added twice.
* Fix - Avoid creating two campaigns after completing the Google Ads onboarding.
* Fix - The auto-refresh processing of billing status in the Google Ads onboarding flow.

= 2.5.8 - 2023-10-03 =
* Add - Privacy policy guide section.
* Add - The missing tracking to onboarding when changing steps.
* Dev - Adjust the conditions for loading JS and CSS assets, and configure them with lazy loading and code splitting.
* Dev - E2E - Onboarding Step 4 - Complete your campaign.
* Fix - Remove AttributeMapping new feature inbox notification.
* Tweak - Add UTM parameters to documentation link.
* Tweak - The properties of the gla_setup_mc and gla_setup_ads tracking events to reduce their confusion.
* Tweak - WC 8.2 compatibility.

= 2.5.7 - 2023-09-20 =
* Dev - E2E - Ads a paid campaign Step 1 - Connect Ads Account.
* Dev - E2E - Onboarding Step 2 - Configure product listings.
* Dev - E2E - Onboarding Step 3 - Confirm store requirements.
* Fix - Performance issue with GoogleAdsFailures::init.

= 2.5.6 - 2023-09-14 =
* Dev - E2E - Onboarding Step 1 - Set up accounts - Connect Merchant Center account.
* FIx - Undesired margin in Paid Campaign Creation Success Modal.
* Fix - Adjust target on click events preventing GLA ID to be Undefined.
* Fix - Tweak E2E tests for WC 8.1.
* Fix - WooCommerce Subscriptions compatibility: Fix the visible issue of the "Google Listings and Ads" tab and "Channel visibility" meta box for some unsupported product types.
* Tweak - WC 8.1.0 compatibility.

= 2.5.5 - 2023-09-05 =
* Dev - Add E2E tests - Dashboard - Edit Free Listings.
* Dev - Clean up workarounds for WooCommerce < 6.8.
* Dev - Externalize all WooCommerce JavaScript packages via Dependency Extraction Webpack Plugin (DEWP) and remove the selective bundling implementation that gradually externalizes packages into DEWP.
* Dev - Update DEWP related tools and docs.
* Fix - Fix Taxonomy Attribute Mapping for Product Variations.

= 2.5.4 - 2023-08-29 =
* Dev - Override vulnerability packages: xmlhttprequest-ssl and ws.
* Dev - Update trigger method in Hooks Generator Workflow.

= 2.5.3 - 2023-08-22 =
* Dev - Add Action for Hooks Documentation Generator.
* Dev - Allow E2E testing with Release Candidates.
* Dev - Convert E2E tests from Puppeteer to Playwright.
* Dev - Externalize all WordPress JavaScript packages via Dependency Extraction Webpack Plugin (DEWP).
* Dev - Fetch WooCommerce L-1 versions for our tests.
* Dev - Remove legacy HooksDocsGenerator.php file.
* Dev - Use `merge-trunk-develop-pr` action.
* Tweak - Apply consistent admin theme colors to common UI components.
* Update - Google API Client Services package to v0.312.
* Update - Google Ads library to API V14. (package v19.2.0).

= 2.5.2 - 2023-08-08 =
* Fix - Remove `add_woocommerce_extended_task_list_item` and `remove_woocommerce_extended_task_list_item` hooks.
* Fix - WordPress 6.3 compatibility: The forms and image selector may not work due to "setImmediate" deprecation.
* Tweak - Use the latest API to add an item to the WC tasks list.
* Tweak - WC 8.0 compatibility.
* Tweak - WP 6.3 compatibility.

= 2.5.1 - 2023-08-01 =
* Dev - Setup wp-env for E2E tests.
* Dev - automate merging trunk to develop after a release.
* Fix - Fix support for "add_to_cart" event in Products (Beta) block.
* Fix - Prevent PHP 8.2 deprecation messages.
* Tweak - Ability to filter products for syncing via `gla_filter_product_query_args` apply_filters hook.
* Update - Show validation errors on steps 2 and 3 of the onboarding flow when unable to continue.

= 2.5.0 - 2023-07-18 =
* Tweak - Add Tip with information with Campaign assets are imported.
* Tweak - Provide more detailed error reasons when unable to complete site verification for the Google Merchant Center account being connected in the onboarding flow.

= 2.4.11 - 2023-07-11 =
* Add - Client name and plugin version to requests.
* Dev - Enable unit testing for PHP 8.1.
* Dev - Set engines for the repository.
* Fix - Avoid continuing to save settings to Google Merchant Center after the shipping time save failed on the Edit Free Listings page.
* Fix - Avoid errors when clearing all audience countries in the onboarding flow.
* Fix - Incorrectly display South America in the audience location selector after selecting Saudi Arabia.
* Fix - Remove deprecated $border-width-focus variable.
* Fix - Show a general error message when the phone number verification request is failed.
* Tweak - Add placeholder in the Attribute Mapping table when there are no rules available.
* Tweak - Changes for title, descriptions and FAQ in PMAX Optimized Campaigns.
* Tweak - Make some error messages clearer when errors occur in querying or modifying data.
* Tweak - Make the error message clearer for errors that occur in getting or updating a Google Merchant Center account.
* Tweak - WC 7.9 compatibility.

= 2.4.10 - 2023-06-13 =
* Tweak - WC 7.8 compatibility.

= 2.4.9 - 2023-06-08 =
* Fix - Prefix psr/http-client package.

= 2.4.8 - 2023-06-08 =
* Fix - Prefix Psr\Http\Message package to prevent conflicts with other plugins.

= 2.4.7 - 2023-06-07 =
* Fix - Adapt the `is_virtual` property value for Product Bundles to avoid applying incorrect shipping rates in products synchronization.
* Update - Google API Client Services package to v0.302.
* Update - Google API Client package to v2.15.
* Update - Google Ads library to API V13. (package v19.1.0).

= 2.4.6 - 2023-05-30 =
* Add - Filters for manually mapping product IDs.
* Tweak - Adjust the MCM filter to always show in channels.

= 2.4.5 - 2023-05-09 =
* Fix - Bug in Attribute Mapping with Taxonomy based rules not being applied in variations.
* Fix - Missing spaces between the card layouts on the Get Started page.
* Tweak - WC 7.7 compatibility.

= 2.4.4 - 2023-05-02 =
* Dev - Fix SEMGREP warnings.
* Fix - Prefix Psr\Container package to prevent conflicts with other plugins.

= 2.4.3 - 2023-04-25 =
* Dev - Add PHP Code coverage report as GitHub action.
* Dev - Unit test support for PHP 8.2.
* Dev - Use "willReturnOnConsecutiveCalls" instead of "at" for unit tests.
* Fix - Prevent creating assets for non-Performance Max campaigns.
* Fix - The fatal errors caused by adding any US Armed Forces location to WooCommerce Shipping setting.
* Fix - Use Ads account currency in the WooCommerce marketing dashboard.
* Tweak - Redirect users between Dashboard and Get Started pages as required.

= 2.4.2 - 2023-03-29 =
* Tweak - WC 7.6 compatibility.

= 2.4.1 - 2023-03-14 =
* Tweak - WC 7.5 compatibility.
* Tweak - WP 6.2 compatibility.

= 2.4.0 - 2023-03-07 =
* Add - Support for the Assets of Performance Max campaigns.
* Dev - Externalize Panel, PanelBody, and PanelRow.
* Dev - Externalize the KeyboardShortcuts component.
* Dev - Increase maximum payload size in the test proxy.
* Fix - The blank Product Feed page after completing the onboarding flow.
* Tweak - Make the popover of the tooltip can be closed properly.

= 2.3.10 - 2023-02-21 =
* Add "Working with DEWP.md" to exclude list.
* Add - Integration with WooCommerce Multichannel Marketing.
* Tweak - Remove unnecessary PMax migration banners.
* Tweak - Remove unnecessary woocommerce_loop_add_to_cart_link filter param.

= 2.3.9 - 2023-02-15 =
* Dev - Update phpunit to version 9.5.
* Fix - Prefix Google Service packages to prevent plugin conflicts.
* Tweak - Improve PHP 8.1 compatibility.
* Tweak - Show admin notice when PHP 32 bits is being used.
* Tweak - WC 7.4 compatibility.
* Update - Google Ads library to API V12.
* Update - Google Content library to API 2.13.

= 2.3.8 - 2023-01-24 =
* Fix - Product feed table footer rendering a zero when there are no products.

= 2.3.7 - 2023-01-17 =
* Tweak - Pre-select a default MC account.

= 2.3.6 - 2023-01-10 =
* Dev - Use extracted Button component from @wordpress/components package.
* Fix - i18n for "View Reports" button.
* Tweak - WooCommerce 7.3 Compatibility with Customer Effort Score prompt.

= 2.3.5 - 2022-12-28 =
* Tweak - Adjust copy in Attribute Mapping section.
* Tweak - Retrieve a published product as a landing page URL.
* Tweak - Simplify report controller parameters.

= 2.3.4 - 2022-12-20 =
* Tweak - Improve image validation error messages.

= 2.3.3 - 2022-12-14 =
* Fix - Tours API Endpoint.
* Tweak - WC 7.2 compatibility.
* Update - Drop support for WordPress < 5.9.

= 2.3.2 - 2022-12-06 =
* Dev - Adjusted parts of the post-install process to work on machines without `grep` and `find`. .
* Dev - Adjusted post-install process to mention when files have their class-expectations modified but retain their original namespace.
* Fix - Certain inbox notifications were shown before setup completed.
* Fix - Delete products in GMC when force delete a product or change catalog visibility to hidden.

= 2.3.1 - 2022-11-22 =
* Add -  Attribute Mapping Feature.
* Dev - Add script to list DEWPed dependencies' versions for a given WC version.
* Fix - Incorrect product statistics count.
* Fix - Yoast global identifiers for variable products.
* Tweak - Remove unused GRPC packages.
* Tweak - WC 7.1 compatibility.
* Update - Change multipack attribute input to be native number input, to improve accessibility.
* Update - Drop support for WC < 6.9.

= 2.2.1 - 2022-11-15 =
* Add - Declare compatibility for High Performance Order Storage.
* Dev - Selectively externalize bundled packages.
* Fix - E2E Testing: Reduce the false positive rate and adjust the running events on GitHub Actions.
* Fix - Move the order of Google Listings and Ads below the Coupons in the Marketing menu of WooCommerce admin page.
* Fix - WC 6.9 compatibility: Shipping time settings should not appear after selecting the "complex" shipping option.
* Fix - WC 6.9 compatibility: The free shipping threshold should be cleared after selecting the "No" free shipping option.
* Fix - WC 6.9 compatibility: The selected free shipping option should be reset after setting all shipping rates to 0.
* Fix - WC 7.1 compatibility: Fixing the forms in the free listings setup may cause infinite requesting state updates which lead to a blank page or issue a lot of API requests.
* Fix - WordPress 5.9 Compatibility: Visually hide descriptions of external link icons.
* Fix - WordPress 6.1 Compatibility: Popover and Tooltip components should be displayed as floating.
* Fix - WordPress 6.1 Compatibility: The size of navigation icons in Datepicker component should not be a giant size.
* Tweak - WC 7.1 compatibility.
* Tweak - WP 6.1 compatibility.
* Update - ISO3166 package version 4.1.

= 2.2.0 - 2022-10-18 =
* Add - Ad previews in the post-onboarding ads setup flow.
* Add - Combine the audience and shipping steps for the onboarding flow and the editing free listings page.
* Add - Streamlined Free Listings + Paid Ads for the onboarding flow.
* Add - The disclaimer of Comparison Shopping Service of the accounts setup of onboarding flow.
* Add - The submission success modal on the Product Feed page after the onboarding is completed along with paid ads setup.
* Fix - A validateDOMNesting warning in the accounts setup step of the onboarding flow.
* Fix - Free Listings + Paid Ads: Add the paid ads previews to the boost product listings section.
* Fix - Remove - Support for WC < 6.8.
* Fix - Shipping time values flash during the onboarding setup.
* Fix - Steppers on the onboarding flow allow switching to later steps when the current step is not yet finished.
* Fix - The "Or, create a new Google Ads account" button at the footer of the Google Ads account setup is clickable when connecting an existing account.
* Fix - The incorrect active status style for a disabled button.
* Tweak - Use different titles for the free listings setup of the onboarding and editing pages.
* Update - Change the steppers in the onboarding flow to only allow going back to the previous steps.
* Update - Detect the verification status of the phone number in the contact information settings.
* Update - Layouts and copywriting of the Get Started page and the onboarding flow.
* Update - Logos of Google Merchant Center and Google Ads.
* Update - Open the billing setup page of Google Ads via a popup window and add an alternative hyperlink to open the same setup page.
* Update - The FAQs in the paid ads setup and the campaign setup page.

= 2.1.4 - 2022-10-04 =
* Add - Policy Compliance Checks in the onboarding flow.
* Tweak - WC 7.0 compatibility.

= 2.1.3 - 2022-09-27 =
* Fix - Avoid truncate for issues with more than 100 characters length.
* Fix - Update Size Type Attribute available values.
* Tweak - Update Website not Claimed issue information.

= 2.1.2 - 2022-09-15 =
* Fix - WooCommerce 6.7 compatibility issues.
* Tweak - WC 6.9 compatibility.

= 2.1.1 - 2022-09-06 =
* Dev - Run PHPCS checks for unit tests.
* Fix - A compatibility issue with WooCommerce 6.9 which prevents interaction with the input field of the paid campaign budget.
* Fix - Fatal error if a null rate specified for flat rate methods with shipping classes.
* Tweak - Add a filter to disable GTag tracking.
* Tweak - Updated plugin icons.

= 2.1.0 - 2022-08-23 =
* Add - Automatically sync WooCommerce shipping settings with Merchant Center.
* Add - Get shipping rates suggestions for provinces/states and postal codes.
* Add - Option to automatically sync the shipping rates based on the store shipping zone configurations.
* Add - Sync the shipping rates for states/provinces and postal codes to Merchant Center.
* Fix - A compatibility issue with WC 6.5+ that the store country might be undefined and further break the onboarding setup.
* Tweak - Generate random ID for postcode regions when syncing shipping settings.

= 2.0.4 - 2022-08-16 =
* Dev - E2E Fix for redirecting to single product page.
* Dev - Remove wc-admin installation from E2E env setup.
* Fix - Handle multiple errors in the Edit free listings page.
* Fix - Hide WooCommerce System messages in the plugin screen. .
* Fix - Onload conflict when tracking events.

= 2.0.3 - 2022-08-09 =
* Add - Campaign Conversion Status for detecting converted campaigns.
* Add - Gtag event tracking.
* Add - Inbox notification for PMax migration.
* Add - Includes removed campaign in the program report section.
* Add - Pmax migration banner dashboard.
* Add - Pmax migration banner reports.
* Add - Tooltip in reports section for SSC Campaigns.
* Add - Track add to cart events from all buttons including Gutenberg blocks.
* Fix - Add Woo gTag remarketing and conversion signals.

= 2.0.2 - 2022-07-29 =
* Fix - Disable identifier_exists field.
* Tweak - Propagate errors for saveSettings.
* Tweak - Refactor SCSS variables.
* Tweak - Remove PHP 8.0 specific code of Symfony polyfills.
* Tweak - Revert migration applicable version value.
* Tweak - Update change log records type.
* Tweak - WC 6.8 compatibility.
* Update - Google Ads library to API V11.

= 2.0.1 - 2022-07-12 =
* Dev - A script to generate a list of hooks that defined or used in GLA.
* Dev - GH workflow to set PR labels.
* Add - Normalizer Polyfill.
* Dev - changed the changelog types list.
* Fix - Compatibility with History Navigation v5.
* Fix - Encoding product names in Issues Table .
* Tweak - Remove try and catch in saveTargetAudience action.

= 2.0.0 - 2022-07-05 =
* Add - Filter Ads accounts to exclude manager and test accounts.
* Add - Return account names when retrieving the list of existing accounts.
* Fix - Normalize image URLs before validation.
* Tweak - WooCommerce 6.7 compatibility.

= 1.13.6 - 2022-06-21 =
* Fix - Cannot disconnect Jetpack when other activated plugins are using Jetpack connection.
* Fix - Compatibility CES prompts with WC 6.6.0.
* Fix - Multiple CES prompts on the Dashboard Page.

= 1.13.5 - 2022-06-15 =
* Fix - Avoid losing focus when selecting an option in Tree Select Control.
* Fix - Bump node-forge from 1.2.1 to 1.3.1.
* Tweak - Clear input search filter after selecting an option.
* Tweak - Disable Review Request in Standalone Accounts.
* Tweak - Update copy for Free and Enhanced Listings merge
* Tweak - WC 6.6 compatibility.

= 1.13.4 - 2022-06-07 =
* Fix - Adding Github Actions for storybook.
* Fix - Do not show error notice when Merchant Center review request API call failed.
* Fix - Do not store URL matches transient until fully connected.
* Fix - Fix GitHub Workflow paths.
* Fix - Use commit instead of branch for storybook dependency.
* Tweak - Always compare site URL hash without trailing slash.
* Tweak - Compliance Policy links.
* Tweak - WC 6.6 compatibility.

= 1.13.3 - 2022-05-31 =
* Add - Add six more promotion supported countries.
* Fix - Allow unicode for Manufacturer Part Number (MPN) value.
* Fix - Avoid to show Unsaved Values confirmation in Edit Free Listing when no values has been changed.
* Fix - Prevent repeated account URL retrievals.
* Fix - Update tracking docs.
* Tweak - Replace storybook deps in favor of woocommerce-grow/storybook.
* Tweak - Simplify and centralize the processing of internal states for the TreeSelectControl component.
* Update - budget recommendation conversion rate.

= 1.13.2 - 2022-05-25 =
* Fix - Prevent repeated account URL retrievals.

= 1.13.1 - 2022-05-24 =
* Fix - Missing ShoppingPerformanceView error when viewing report data.
* Fix - Update the start/end date in the timePeriod message of coupon following google.protobuf.Timestamp.
* Tweak - Show MC Issues resolution steps in the UI.

= 1.13.0 - 2022-05-18 =
* Add - Extending Update All Products Test Suit.
* Add - Request a Google Merchant Account Review for disapproved accounts.
* Fix - Address a crash problem of TreeSelectControl component when the dropdown is not showing and press the Up or Down key.
* Fix - Edit shipping rate modal disappears after auto-save shipping rate in Setup MC.
* Fix - Prevent product sync if the site URL does not match the originally claimed URL.
* Fix - Revert filtering only Shopping destination for account issues.
* Fix - The unsaved prompt might pop up when the countries of the target audience are the same when navigating away from the free listings edit page.
* Fix - Unit tests for WooCommerce 6.5.
* Fix - Validation for shipping rates and shipping times in Setup MC and Edit Free Listings.
* Tweak - Add helper class to obtain supported countries of a continent.
* Tweak - Adjust the implementation of focus navigation for the TreeSelectControl component.
* Tweak - Cleanup unused Google Ads services.
* Tweak - Drop support for WooCommerce < 6.0.
* Tweak - Enhance event name for documentation link and update tracking document.
* Tweak - WooCommerce 6.5 compatibility.
* Tweak - WordPress 6.0 compatibility.
* Update - Improved UX in the Product Feed Issues table.
* Update - Use a shared helper method to get supported countries of a continent for /mc/countries API.

= 1.12.8 - 2022-05-05 =
* Update - Add the FAQs card for UX improvements on get started page.
* Update - Add the benefits card for UX improvements on get started page.
* Update - Add the customer quotes card for UX improvements on get started page.
* Update - Add the features card for UX improvements on get started page.
* Update - Add the first card with a CTA and a video for UX improvements on get started page.
* Update - Add the get started card for UX improvements on get started page.

= 1.12.7 - 2022-05-04 =
* Fix - Label UI for selecting countries (TreeSelectControl / SupportedCountrySelect).
* Tweak - Refactor, remove `record*Event` utils.
* Tweak - Upgrade @wordpress/scripts to 22.1.0, and the related packages were upgraded to the corresponding versions.
* Tweak - Upgrade the packages of the e2e testing.
* Tweak - Upgrade webpack config to v5, and enhance the config.

= 1.12.6 - 2022-04-29 =
* Fix - Update all products job syncing products

= 1.12.5 - 2022-04-12 =
* Fix - Cache Yoast SEO values per product, to ensure unique values.
* Fix - Feature/tree select control component.
* Fix - Prompt to reconnect when a Jetpack disconnect is detected.
* Tweak - Automatically generate Tracking events docs from JSDoc.
* Tweak - Move Tracking events docs to JSDoc.

= 1.12.4 - 2022-04-06 =
* Fix - Prevent fatal errors when migrating or syncing merchant settings.

= 1.12.3 - 2022-04-05 =
* Fix - Shipping times section not showing up and unable to proceed through the Setup Merchant Center flow.

= 1.12.2 - 2022-04-05 =
* Add - Unit test for AdsConversionAction.
* Add - Unit test for AdsReport.
* Fix - Prevent uncaught exception when Merchant account is not connected and we send a tracker snapshot.
* Tweak - DB migration for shipping rates.
* Update - Create all new campaigns as PMax campaigns.

= 1.12.1 - 2022-04-01 =
* Fix - Change shipping time options based on shipping rate options, to address missing shipping times data when shipping rates option is set to automatic or simple flat option, and shipping times option is set to complex manual option.
* Fix - Do not sync shipping rates if the shipping time setting is set to complex.

= 1.12.0 - 2022-03-29 =
* Add - Additional data points for tracker snapshot.
* Add - Enables merchants to select multiple countries as their audience when creating a Google Ads campaign (Smart Shopping Campaign).
* Add - Google Listings and Ads product attributes icon.
* Add - Integration with WooCommerce Shipping Zone to automatically sync shipping settings to Merchant Center.
* FIx - Show right link and message in Paid Campaigns report when there is no data available.
* Fix - Cleanup synced products locally when disconnecting Merchant Center account.
* Fix - Combine duplicate account issues per country.
* Fix - Fatal error when the plugin is activated before WooCommerce.
* Fix - Fix incorrect HTTP status code when campaign creation and edit APIs call fails.
* Fix - Limit failed delete retries to 5 and schedule again after one minute.
* Fix - Performance issue related with NoteInitializer class.
* Tweak - Add message to advise users to only connect Google Ads child account, not manager account.
* Tweak - Catch errors related to invalid top-level domains specifically, and throw an error when the site's URL ends with an invalid top-level domain.
* Tweak - Improve Ads error messages returned by the API.
* Tweak - Simplify the format processing of number and amount values for all report metrics.
* Update - Budget recommendation API supports for multiple countries.
* Update - Campaigns APIs support for multiple countries.
* Update - Change Campaign operations to batch requests.
* Update - Refactor the Middleware class.
* Update - Remove delete operations for campaign budget and ads group.
* Update - WP-CLI dev dependencies.

= 1.11.1 - 2022-02-10 =
* Fix - Prevent a fatal error in case an existing Merchant Center account has an invalid domain.

= 1.11.0 - 2022-02-02 =
* Add - Unit tests for the Ads AccountController and AccountService.
* Fix - Failure handling was not correctly displayed when the ads campaign creation and editing failed.
* Fix - Fix the incorrect text color of the disabled "Disconnect account" buttons on the Settings page.
* Fix - Makes country dropdown list always below the input box.
* Fix - Prevent page flickering when loading admin pages of this extension.
* Tweak - Change the importing way of lodash package to reduce the bundle size by 4 KB.
* Tweak - Clean up outdated workarounds for WooCommerce 5.7.
* Update - Google Ads API to V9.
* Update - Google Content API library to 2.12.1.
* Update - Inbox notifications have update promotion information from Google.
* Update - Update Google Ads credit incentive in WordPress.org plugin landing page.
* Update - Update Google Ads credit incentive info in plugin UI.

= 1.10.0 - 2022-01-13 =
* Add - Bulk update channel visibility for coupons.
* Add - CES prompts for initial setup and campaign creation.
* Add - Pre-fill shipping rates during free listing configuration wizard.
* Add - Pre-fill shipping rates in Setup Merchant Center flow based on store's shipping settings.
* Add - Sync products' shipping label/class to Merchant Center.
* Fix - Drop WC 5.7 support.
* Fix - Fatal error when creating Ads account without Site Title.
* Fix - Fix/1078 shipping values flash during onboarding setup.
* Fix - Fixing coupon test issue.
* Fix - Group shipping rate by price and currency, and display the right currency in shipping rate input.
* Fix - MC address validation.
* Fix - Remove WC's `is_ajax` (deprecated in 6.1) in favor of proxied WP `wp_doing_ajax`.
* Fix - Removed state/region address validation .
* Fix - Replace `cloneDeep` within `.~/data/reducer.js` with functions that would not mutate other references of the state tree.
* Tweak - WC 6.1 compatibility.

= 1.9.0 - 2021-12-15 =
* Add - Pre-fill target audience countries during onboarding using WooCommerce shipping zones. #1131
* Add - Pre-fill target audience countries with suggestions based on WooCommerce settings. #1145
* Fix -  Fatal error on plugin deactivation. #1142
* Fix - Fix UI loading flicker in Setup MC Step 2 "Choose your audience" page. #1146
* Fix - Fix e2e test after copy update. #1134
* Tweak - Display help cursor for tooltip. #1130
* Tweak - Update product channel visibility's styling to match that of coupons channel visibility. #1135
* Tweak - Updated `@wordpress/scripts@17.1.0`. #1132
* Tweak - WC 6.0 compatibility.
* Tweak - WP 5.9 compatibility.
* Update - min. WC version to 5.7. #1110

= 1.8.0 - 2021-11-30 =
* Add - Allow connecting to a different Google account in Setup MC. - #1072
* Add - Disconnect Google Merchant Center account when switching Google account. - #1109
* Add - Display account name and domain in Google Merchant Center cards. - #1112
* Add - track events for UX improvements. - #1124
* Fix - Refetch list of GMC accounts when users choose to connect to a different GMC accounts. - #1123
* Tweak - Improve UX and adjust UI style for the accounts connection step of the Google Ads & Paid Campaign setup page. - #1102
* Tweak - Minor layout tweak in Google Ads card in Setup Ads. - #1114
* Update - Display better explanation tip for Google Merchant Center in Setup MC Step 1. - #1075
* Update - UX improvement on Google account card in Setup MC. - #1072
* Update - UX improvements on Google Merchant Center section in Setup MC flow. - #1094
* Update - UX improvements on account connections in Setup Merchant Center flow. - #1119
* Update - Update the WordPress.com account connection UI to the newer design. - #1068

= 1.7.0 - 2021-11-24 =
* Add - The partial authorization feature of Google account to the onboarding setup, Google Ads setup and reconnection pages.
* Add - Accept login_hint when generating OAuth URL.
* Add - Review request inbox notification after 10 conversions and 100 free listing clicks
* Update – Add support for retrieving the name and domain from the Google API
* Fix - Add support for Norwegian language, nb and nn
* Fix - Report tabs lose active state when changing chart.
* Tweak - Update `in_stock` and `out_of_stock` availability enums
* Tweak - Retry async jobs on timeout
* Tweak - Reduce the bundle size of the index.js file.
* Tweak - refactored legacy WC menu highlighting effect.

= 1.6.0 - 2021-11-09 =
* Add - Coupon/promotion integration with Merchant Center.
* Tweak - WooCommerce 5.9 compatibility.

= 1.5.1 - 2021-10-13 =
* Update - Changed minimum version of WordPress to 5.6 and WooCommerce to 5.5.
* Fix - Change the way of getting WooCommerce admin settings to fix a compatibility issue in WooCommerce 5.8.
* Tweak - WooCommerce 5.8 compatibility.

= 1.5.0 - 2021-10-01 =
* Add - Verify user's phone number via SMS or phone call at the last step of the onboarding flow and on the settings page. And update the verified phone number to user's connected Google Merchant Center account.
* Add - Allow backorder stock availability for products.
* Add - Set pre-order availability for products using the WooCommerce Pre-Orders extension.
* Add - Warning notice when the Ads' currency is different from the store's one.
* Add - Unit tests for the Merchant Google Service class.
* Fix - Retry Merchant account creation after detecting invalid terms.
* Fix - Render Ads Account's currency in Dashboard's table.
* Fix - Don't render `DifferentCurrencyNotice` when the Ads account is disconnected.
* Fix - Limit the number of synced additional product images to 10.
* Fix - Split contact information settings page to phone and address settings.
* Fix - Update phone number and store address pages flow.
* Fix - Correct spelling/capitalization of "WordPress.com".
* Fix - PHP notice when creating a product variation.
* Fix - Bump E2E-related devDeps, bump tested WC version.
* Tweak - Hide channel visibility box and attributes tab if the setup is not completed.
* Tweak - Added a few more e2e tests and utils.
* Tweak - WC 5.7 compatibility.

= 1.4.3 - 2021-09-08 =
* Fix - PHP notice when creating a product variation.
* Tweak - Hide channel visibility box and attributes tab if the setup is not completed.

= 1.4.2 - 2021-08-24 =
* Fix - Fix a potential fatal error when WooCommerce isn't active while activating Google Listings and Ads.
* Fix - Fix margin/padding styles for the AppButton when having spinner/icon/text.
* Fix - Make audience country searchable in Setup Ads.
* Fix - Remove file autoloads for namespaced packages.
* Tweak - Remove all "STEP [NUMBER]" texts from step headers on the onboarding setup, paid campaign setup, and free listings edit pages.
* Tweak - WC 5.5 compatibility.

= 1.4.1 - 2021-08-16 =
* Fix - Allow connection test page for other admin users.
* Fix - Allow spaces in paths when prefixing vendor namespaces.
* Fix - Database error: "Specified key was too long". i.e. removed the `product_issue` index from the `merchant_issues` table.
* Fix - Fatal error when activating plugin with no Merchant Center account connected.
* Fix - Some pre-sync errors being skipped in the product issues table.
* Fix - display the correct currency actually used for the paid campaign budget.
* Tweak - Limit the product descriptions to 5000 characters when syncing.

= 1.4.0 - 2021-08-09 =
* Add - Filter to allow applying shortcodes to product description.
* Add - New contact information feature.
* Fix - Add `woocommerce_gla_product_attribute_values` filter to allow overriding all product attributes.
* Fix - Invalid Google IDs meta value causing fatal failure.
* Fix - Load deprecated functions from Guzzle which are required for the GAX library.
* Fix - Process all batches when updating products.
* Tweak - Removed SVGs from JS bundle.
* Tweak - Use the WordPress date and time formats on the Product Feed page.

= 1.3.0 - 2021-07-27 =
* Fix - Bump WordPress tested version to 5.8.
* Fix - Code formatting with Prettier.
* Fix - Disable the "Complete setup" button if the free shipping price is not yet entered when setting up Merchant Center for the first time.
* Fix - Fix: add eslint-plugin-import to help catch JavaScript import errors.
* Fix - Import `Button` from `@wordpress/components` in Switch URL flow.
* Fix - Remove unused code.
* Fix - Shows a Jetpack connected success text instead of blank when viewing the onboarding setup and the settings pages as a non jetpack owner account.
* Fix - Skip orphaned variations instead of throwing errors when syncing products.
* Tweak - Add filters for adjusting description.
* Tweak - Allow safe HTML tags for product descriptions.
* Tweak - Replaced `<AppTextButton>` with WP's `<Button isLink>`.
* Tweak - Use @wordpress/prettier-config package.
* Update - Optionally clean up plugin data on uninstall.
* Update - Stop syncing invisible products and variations.

= 1.2.1 - 2021-07-15 =
* Fix - Made Forms submit and change behavior work with WooCommerce >= 5.5 (WooCommerce Admin >= 2.4.0).

= 1.2.0 - 2021-07-14 =
* Add - Added a param to indicate the redirect URI when back from Google authorization.
* Add - Endpoint for checking access to previously connected accounts.
* Add - Google account reconnection UI and flow.
* Add - Incompatibility warning for Google Product Feed plugin.
* Fix - Add unit test configurations.
* Fix - Add unit tests for AttributeManager and AbstractAttribute.
* Fix - Add unit tests for BatchProductHelper and ProductFactory.
* Fix - Add unit tests for ProductHelper and ProductMetaHandler.
* Fix - Add unit tests for ProductRepository.
* Fix - Add unit tests for ProductSyncer and SyncerHooks.
* Fix - Add unit tests for WCProductAdapter.
* Fix - Adds e2e testing covering merchant getting started to Setup MC page 1.
* Fix - Conflict with LiteSpeed cache plugin.
* Fix - Consistently return error codes from the middleware server.
* Fix - Create test products manually instead of using a provider.
* Fix - Hide product attributes and channel visibility for subscription products.
* Fix - Order billing status results by newest entries first.
* Fix - Remove undefined variable warning during Ads account connection.
* Fix - TypeError in WooCommerce Brands integration.
* Fix - Update travis config to use latest version of WP and WC.
* Tweak - 401 error when retrieving status data and Google account is not connected.
* Tweak - Add bundlewatch to monitor bundle size in GitHub PRs.
* Tweak - Change product expiry to after 25 days.
* Tweak - Clarify which HTML header tags are inserted by GLA.
* Tweak - Clear Merchant Center issues table on account disconnect.
* Tweak - Improve namespace replacements in conflicting composer packages.
* Tweak - Omit unpublished products from issues to resolve.
* Tweak - Prevent showing all 401 response errors in the general error message UI.
* Tweak - Stop syncing products if the Merchant or Google accounts are no longer connected.
* Tweak - Unset Ads currency DB option when disconnecting account.
* Tweak - WC 5.5 compatibility.
* Update - Latest versions of phpseclib and wp-cli packages.
* Update - Switch apiclient services to namespaces.
* Update - Version 10.0 of the Google Ads library.
* Update - Version 2.10 of the apiclient library.

= 1.1.0 - 2021-06-23 =
* Fix - Adds warning message and checkbox for reclaiming URL in Google Merchant Center account connection setup.
* Fix - Align not synced product stats.
* Fix - Automatically set default values for Setup MC and Edit Free Listings' Target Audience.
* Fix - Cancel the focus from the "Remove" links after removing a program from the programs table.
* Fix - Catch invalid product ID.
* Fix - Cleanup target countries per product.
* Fix - Clear product stats cache on every product sync .
* Fix - Combine the "flat" and "manual" options of shipping rate and time in the MC setup flow to avoid possible errors caused by inconsistent shipping setup logic.
* Fix - Correct formatting string of "day" for status box on the Product Feed page.
* Fix - Handle null postmeta values gracefully.
* Fix - Include the Ads account currency when checking the status.
* Fix - Prevent conflicts when storing the channel visibility value.
* Fix - Resolve Guzzle Conflict with other plugins.
* Fix - Strip shortcodes used in the product description when syncing to Google.
* Fix - The incorrect enabled state after removing a disabled program from the programs table.
* Fix - Update deprecated `stylelint-config-wordpress` to `@wordpress/stylelint-config@19.0.4`,.
* Fix - Use WooCommerce CRUD class methods to handle metadata.
* Fix - Use batch productstatuses.
* Fix - Use get_home_url for retrieving the site URL.
* Fix - Use product's short description if no description is set.
* Tweak - Optimize product queries.
* Tweak - Reduce the default productstatus batch size.
* Tweak - Set batch size to 100 for the "update all products" job.
* Tweak - Show "Unavailable" and more descriptive tooltip when Google reports API fails.
* Tweak - Standardize action and filter hook prefix.
* Tweak - Use target countries as shipping destinations.
* Tweak - WC 5.4 compatibility.
* Update - Increase required minimum WordPress and WooCommerce versions.

= 1.0.0 - 2021-06-08 =
* Fix - Add Tracks events for site claim and URL switching.
* Fix - Add debugging logs for product syncer.
* Fix - Add event tracking when clicking on the chart tabs in the report pages.
* Fix - Add event trackings when the "Launch paid campaign" buttons are clicked.
* Fix - Add status box in the Product Feed page.
* Fix - Add table's pagination tracking events to the product feed page.
* Fix - Add track events for account connections.
* Fix - Add validations to fix that the free listings setup/edit forms could be submitted with a negative shipping rate/time.
* Fix - Bump TravisCI's OS and node version to match the one used for the release.
* Fix - Change "disconnect all accounts" modal text.
* Fix - Change error message and add Open Google MC button to the Dashboard.
* Fix - Change to use batch upsert actions for saving shipping data on the Edit Free Listings page.
* Fix - Check product exists with helper function.
* Fix - Cleanup synced product IDs on settings change.
* Fix - Do not request ads reports when the setup is incomplete.
* Fix - Double check product's sync ready status returned by repository.
* Fix - Expose pre-sync errors.
* Fix - Fall back to 'SurfacesAcrossGoogle' status if 'Shopping' isn't available for Product Feed.
* Fix - Fix compatibility issue that lacks required class of new WC Navigation in supported WC versions.
* Fix - Fix fatal error when duplicating and trashing synced variable products.
* Fix - Fix the alignment of label and helper next to radio and checkbox.
* Fix - Fix the problem of the "Create another campaign" button not working.
* Fix - Hide the ChannelVisibilityMetaBox for unsupported products.
* Fix - Hide unpublished products from the product feed.
* Fix - Include pre-sync product errors in the issues API.
* Fix - Make the free shipping threshold be able to set up with $0.
* Fix - Modify `path` in URL to make additional pages work with WooCommerce Navigation.
* Fix - Only submit 'Published' products.
* Fix - Optimize presync error to issue collation process.
* Fix - Override values for enhanced free listings issue.
* Fix - Prevent render breaking when getting errors from report API in the programs report page.
* Fix - Product titles for Free Listing reports.
* Fix - Refactor product meta to use product object instead of ID.
* Fix - Remove Checkbox.
* Fix - Reports mocked responses.
* Fix - Resolve getLabels immediately, if free listings are requested. ….
* Fix - Retrieve product IDs and use update_post_meta.
* Fix - Return empty if no matching attributes found.
* Fix - Scheduled sync count.
* Fix - Shipping rates and shipping times: Add and edit modals - validation logic.
* Fix - Show selected program label in the filter on program report page load.
* Fix - Small ProductQueryFeedHelper Fix.
* Fix - Sort list of supported countries.
* Fix - Throw an error if no ID is provided.
* Fix - Tracking doc tweaks.
* Fix - Tracking settings.
* Fix - Use empty check for campaign name.
* Fix - Use product name or title in products report.
* Fix - Validate required and incompatible plugins.
* Fix - Workaround `woocommerce/data` dependency issues, reset `package-lock.json`.

= 0.6.0 - 2021-05-27 =
* Fix - Add FAQs to step 1 of the MC setup flow.
* Fix - Add extra product attributes.
* Fix - Add validations for the main steps of edit free listings.
* Fix - Admin Notes 2 to 4.
* Fix - Aggregate intervals from free and paid campaigns, render programs report w/o waiting for secondary request.
* Fix - Change JetPack connection name.
* Fix - Changes to Success Modal after first setup.
* Fix - Connect programs report page to the API data.
* Fix - Connect programs report table to API data.
* Fix - Consistent currency format across all summary list usages.
* Fix - Edit the channel visibility of products on the Product Feed page.
* Fix - Error notice if WooCommerce Admin isn't active.
* Fix - Fix fatal in Product Feed API.
* Fix - Get started copy updates.
* Fix - Implement the deletion feature of paid campaigns for the dashboard page.
* Fix - Integration with new WC Navigation.
* Fix - Make `getReport` ignore unsupported orderby query params.
* Fix - Make unit-tests run with @woocommerce packages.
* Fix - Make unit-tests run with `woocommerce/date` (~`/components`~) dependency.
* Fix - Move @woocommerce/* dependency tests to /tests/unit.
* Fix - Note lack of support for IE in `README.md`.
* Fix - Prefetch product feed data to prevent multiple duplicated Google API requests.
* Fix - REST endpoint for batch product channel visibility updates.
* Fix - Redirect to onboarding / get started page on plugin activation.
* Fix - Remove product feed coming soon notice and show reports by default.
* Fix - Run unit tests on TravisCI,.
* Fix - Silently skip Product Feed products that are no longer in WooCommerce .
* Fix - Sort report API results by date index.
* Fix - Sort the merged programs table.
* Tweak - WC 5.4 compatibility.

= 0.5.6 - 2021-05-17 =
* Fix - Add Color, Material, and Pattern attributes.
* Fix - Add Size, Size System, and Size Type product attributes.
* Fix - Add WooCommerce Brands integration.
* Fix - Add age group and adult product attributes.
* Fix - Add bcmath compatibility library.
* Fix - Add extra product attributes.
* Fix - Add gender attribute.
* Fix - Add hook and mocked data for testing API requests.
* Fix - Add more props and formatting to the shared summary component for report pages.
* Fix - Add spend column to product reports.
* Fix - Adjust chart to fit with API schema and visual design, and extract as a shared component for report pages.
* Fix - Change 'Get started' to 'Set up free listings in Google' in small copy text.
* Fix - Code refactor with useIsEqualRefValue.
* Fix - Conflict resolution in Merchant Center account connection process.
* Fix - Connect products report page to the data source of report API.
* Fix - Display ReclaimURLCard upon getting 403 from SwitchURLCard.
* Fix - Display or hide attributes based on product type.
* Fix - Fix dashboard performance when the response comes w/o data.
* Fix - Get report parameter defaults using a helper function.
* Fix - Opens documentation in new tab upon clicking Help button.
* Fix - Product Feed UI with API.
* Fix - Remove margin-bottom for checkboxes in Table.
* Fix - Replacement polyfills for mbstring.
* Fix - Run async jobs only when Google is connected.
* Fix - Setup MC: display error message when Google MC Account API call failed.
* Fix - Show selected "Free Listings" filter / Handle URL param id `0` as valid in `getIdsFromQuery`.
* Fix - Some README and contributor documentation updates.
* Fix - Standardize product statuses and caches.
* Fix - Update Product Feed status labels.
* Fix - Use shared `SummarySection` in Programs Report page.
* Tweak - WC 5.3 compatibility.

= 0.5.5 - 2021-05-07 =
* Fix - Add a custom hook to get calculated data and its status for the Products Reporting page.
* Fix - Add products reporting data source picker and connect all UI query interactions to page route.
* Fix - Adjust report data interfaces and structures in the wp.data.
* Fix - Clean up TODO comments.
* Fix - Connect Programs filter to data source.
* Fix - Display "Continue setup" button text in Get Started page.
* Fix - Display "Issues to Resolve" in Product Feed.
* Fix - Display product statistics in UI.
* Fix - Don't enable Continue button when MC account is not connected.
* Fix - Escape and sanitize site URL.
* Fix - Fix table title and icon button spacing.
* Fix - Product feed API endpoint.
* Fix - Remove Beta Testing UI for production release.
* Fix - Resolve `@woocommerce/experimental.Text` to suppress build warnings.
* Fix - Specify `argsRef.current` as dependency in `useAppSelectDispatch`.

= 0.5.4 - 2021-04-30 =
* Fix - Add readme and assets for releasing to WordPress.org.
* Fix - Additional testing flags.
* Fix - Conditionally hide Reports tab and show a coming soon notice on Product Feed tab.
* Fix - Fix condition that filters TabNav's tabs.

= 0.5.3 - 2021-04-29 =
* Fix - Fix popover width.
* Fix - Fix the giant icon problem in the warning messages.
* Fix - South Korea is only supported for currency KRW.

= 0.5.2 - 2021-04-28 =
* Fix - Consistent i18n domain name.
* Fix - Include Merchant Center beta countries.

= 0.5.1 - 2021-04-27 =
* Fix - Add FAQ for "What if I already have free listings set up for my store?".
* Fix - Build translation files.
* Fix - Dedicated Merchant Center issues table.
* Fix - Delete MC shipping settings on disconnect.
* Fix - Disable the "create a new MC account" link when an existing account is being connected.
* Fix - Disabled toggle with tooltip for free listings in Programs table.
* Fix - Fix "Complete setup" button re-enabled when finishing the MC setup.
* Fix - Fix issues of shipping rate/time components for MC onboarding flow.
* Fix - Generate optimized autoload for final archive.
* Fix - Helper function for getting the WCS URL.
* Fix - Hide `SupportedCountrySelect` if `location` is not `selected`.
* Fix - Make `useDisplayTaxRate` check also store's country.
* Fix - Override shipping for virtual products.
* Fix - Paid ads campaign form validation.
* Fix - Prevent passing empty array of IDs to product update job.
* Fix - Rename "Google Shopping Free Listings" and fix "product" typos.
* Fix - Script for cleaning up some vendor files.
* Fix - Set default paid campaign name on server-side.
* Fix - Setup MC: validate form and disable Continue button when form is not valid.
* Fix - Show success & failure messages when free listings are updated.
* Fix - Use fallback billing url when billingStatus.billing_url is null.

= 0.5.0 - 2021-04-15 =
- Google Ads onboarding and dashboard test release.

= 0.4.0 - 2021-04-01 =
- Merchant Center and Google Ads onboarding test release.

= 0.3.0 - 2021-03-16 =
- Initial release
var/www/vhosts/uyarreklam.com.tr/httpdocs/wp-content/plugins/litespeed-cache/changelog.txt000064400000405261151536757660026236 0ustar00
= 5.6 - Aug 1 2023 =
* 🌱**Page Optimize** New JS Delay Includes option. (Mitchell Krog/Gerard Reches/Ignacy Hołoga)
* **Crawler** Sitemap can use search for URL now.
* **GUI** Restrict the scope of balloon CSS rules to avoid conflicts. (#567)
* **Object Cache** Detect Memcached in more situations. (#568)
* **API** Support `litespeed_purged_front` hook. (Umberto Fiorelli)

= 5.5.1 - Jul 19 2023 =
* 🐞**Image Optimization** Fixed a bug where WebP replacements couldn't be pulled without optimizing the original images.
* 🐞**Image Optimization** Invalid images will now be removed when sending requests to the server. (#138993)
* **Cloud** Added support for error codes `unpulled_images` and `blocklisted`. (Tynan)

= 5.5 - Jun 20 2023 =
* 🌱**Crawler** Can now use multiple sitemaps. (Tobolo/Tim Nolte)
* 🌱**Crawler** Now runs asynchronously when manually invoked.
* 🌱**Crawler** Now runs asynchronously when invoked from cron.
* 🐞**Crawler** Fixed the realtime status bug when crawling.
* **Crawler** Summary page now displays server load. (Ruikai)
* 🐞**Page Optimize** Fixed an issue where UCSS could not be generated for error pages. (james58899) #556
* 🌱**Image Optimize** Now pulls images asynchronously.
* **Image Optimize** Now prevents concurrent requests via a locking mechanism.
* **Image Optimize** The process can now bypass invalid image records and continue.
* 🐞**Image Optimize** Fixed an issue where images ready for optimization might have to wait for new images to be added before sending the request.
* **Cloud** Replaced dashboard links with login/link to my.quic.cloud actions.
* **GUI** Added indicators to show when certain options are passively enabled by Guest Mode.
* **Htaccess** Added a noabort rule to support asynchronous crawling.
* **Htaccess** The "Do Not Cache User Agents" option is now case-insensitive. (Ellen Dabo)
* **General** The "Server IP" option now allows IPv4 format only. (Ruikai)
* **Misc** Every page's closing HTML comments now displays UCSS/CCSS status.
* **Object** Fixed a warning for null get_post_type_object.
* **Object** Object_Cache::delete now always returns a boolean value.
* **Cache** Fixed advanced-cache.php file warnings for WordPress versions less than 5.3.
* **Debug** Added debug logging to record the plugin's total processing time.
* **API** HTML minification can now be bypassed via the litespeed_html_min filter.

= 5.4 - Apr 19 2023 =
* **Image Optimize** Refactored DB storage for this feature.
* **Image Optimize** Reduced DB table size.
* **Image Optimize** Existing `img_optm` DB tables will have their data gradually transitioned to the new storage format with this update. Once an `img_optm` table is empty, it won't be used anymore.
* **Page Optimize** Enabled WebP support for Googlebot User Agent.

= 5.3.3 - Feb 22 2023 =
* **Page Optimize** Excluded Jetpack stats JS.
* **DB Optimize** Fixed DB Optm SQL for revision postmeta.
* **Cache** Fixed an undefined array key warning.
* **Purge** Prevented undefined array key warning when widgets are disabled.
* **Object** Fixed dynamic property deprecation warnings.
* **Admin** Safely redirect to homepage if referer is unknown.
* **Activation** Check that item slug exists first.
* **Cache** Prevented cache header to send globally if header part already closed.
* **CSS** Improved string handling for CSS minifier.
* **Debug** Fixed undefined array key warnings.
* **Misc** Fixed implicit conversion in random string generation function `Str::rrand`.

= 5.3.2 - Jan 10 2023 =
* **Object** Fixed object cache lib incr, decr functions (thanks bdrbros/DANIEL) #516
* **Database Optimize** Database optimizer now handles postmeta when cleaning revisions #515
* **Cache** Made nocache the default for 4xx/5xx response codes.
* **Cache** Default cache TTL settings removed for 403 response code, changed to 10 mins for 500 response code.
* **GUI** Added a description for the redetect nodes function.
* **GUI** Added a description for the refresh button sync function.

= 5.3.1 - Dec 12 2022 =
* **CLI** Presets feature is now usable from the CLI. (xLukii)
* **CLI** Added 'import_remote' for litespeed-option to enable importing options from URLs. (xLukii)
* **Cache** Added LiteSpeed headers to site health check for full page cache.
* **Crawler* Fixed unauthorized crawler toggle operation. (#CVE-2022-46800)
* **UCSS** Fixed a bug where items weren't added back to the UCSS queue after purging.
* **Page Optimize** Fixed a bug where generated CSS would return 404 after upgrading via CLI.
* **3rd** Fixed a bug where a WooCommerce session doesn't exist when checking cart, notices (Jason Levy/Gilles)
* **GUI** Made LiteSpeed admin notice icon grayscale to avoid distraction. (martinsauter)
* **GUI** Fixed RTL style for notification icon.
* **API** Added a new hook `litespeed_optm_uri_exc` to exclude URI from page optimization.
* **API** Excluded `.well-known` path from page optimization.

= 5.3 - Oct 31 2022 =
* 🌱**Presets** New `Presets` feature and menu item.
* 🌱**UCSS** New option `UCSS File Excludes and Inline` to increase page score. (Ankit)
* **UCSS** When UCSS is purged, automatically append URL to UCSS generation queue. (Ankit)
* **Page Optimize** Removed a redundant `defer` attribute from Lazy Load image library usage. (#928019)
* **Image Optimize** Dropped `Create WebP Versions` setting. Will automatically enable when `Image WebP Replacement` is activated.
* **Cloud** Fixed a bug where internal updates were delayed for API keys.
* **Cloud** Improved auto alias feature by waiting for second request from alias domain validation before removing a pending alias.
* **Purge** Automatically Purge All when plugin auto update is done.
* **Purge** Fixed a potential PHP8 error that occurred when removing unused widgets. (acsnaterse)
* **Cache** Fixed an infinite 301 redirection caused by UTM-encoded link.
* **CLI** Added syntax examples for values that include line breaks (xLukii)
* **CLI** Purge requests will now be included with the original request to avoid potential CSS/JS 404 issues.
* **ESI** Check all user roles for cache vary and page optimization excludes.
* **GUI** Added a LiteSpeed icon to admin message banners to indicate the banners are from our plugin. (Michael D)
* **Crawler** Fixed a cache-miss issue that occurred when Guest Mode was ON and WebP Replacement was OFF.
* **3rd** Remove WooCommerce private cache.
* **3rd** Removed LiteSpeed metabox from ACF field group edit page. (keepmovingdk)

= 5.2.1 - Sep 7 2022 =
* 🐞**Core** Fixed a fatal error that occurred when uninstalling. (#894556 Hostinger)
* **Dash** Show partner info on the dashboard for partner-tier QC accounts.
* **UCSS** Auto-purge UCSS on post update. (Ankit)
* 🕸️**Crawler** Respect the `LITESPEED_CRAWLER_DISABLE_BLOCKLIST` constant for unexpected results too. (Abe)

= 5.2 - Aug 17 2022 =
* 🌱**UCSS** Added UCSS message queue to improve service quality and reliability
* 🐞**VPI** Fixed conflict w/ image lazyload; used HTML before image lazyload to avoid invalid `data:base64` results.
* **VPI** Changed VPI Cron default setting to OFF.
* **VPI** Automatically resend requests when VPI result contains invalid `data:` image value.
* **Conf** Fixed an issue with URI Excludes, where paths using both ^ and $ were not correctly excluded (Eric/Abe)
* **Conf** Auto corrected `WP_CONTENT_URL` protocol if it was explicitly set to `http://`.
* **Cloud** No longer sync the configuration to QUIC.cloud if configuration is unchanged.
* **Cloud** Appended home_url value into synced configuration data for wp-content folder path correction.
* 🕸️**Crawler** Improved compatibility with server `open_basedir` PHP setting limit when detecting load before crawling. (Tom Robak/mmieszalski)

= 5.1 - Aug 1 2022 =
* 🌱**Toolbox** Debug log can now show Purge/Crawler logs as well. (Tynan)
* **UCSS** Prepared for future message queue.
* **UCSS** Moved UCSS class to its own file.
* **3rd** Added 3rd-party support for WC PDF Product Vouchers. (Tynan)
* **Core** Fixed potential PHP warning when saving summary data. (Sarah Richardson)
* **Purge** Purge can now clear the summary correctly. (Kevin)
* **VPI** Added `queue_k` to API notification.

= 5.0.1 - Jul 27 2022 =
* 🐞**Cloud** Fixed a potential PHP error that could occur with the cloud service summary. (Bruno Cantuaria)
* **3rd** Added Autoptimize back to compatibility list.

= 5.0.0.1 - Jul 26 2022 =
* 🔥🐞**Cloud** Fixed an issue with the cloud request timestamp update which causes a usage sync failure. (great thanks to Kevin)

= 5.0 - Jul 25 2022 =
* 🌱**VPI** Added Viewport Images feature to LiteSpeed Options metabox on Post Edit page.
* 🌱**CDN** Added Auto CDN Setup feature for simple QUIC.cloud CDN setup. (Kevin)
* 🌱**Page Optimize** Automatically cache remote CSS/JS files when fetching for optimization (Lauren)
* 🌱**Cache** Added LiteSpeed Options for page-level cache control on Post Edit page. (denisgomesfranco)
* 🌱**Cloud** Auto Alias feature.
* 🌱**Debug** Added `Debug String Excludes` option. (Hanna)
* 🌱**UCSS** Added `Purge this page - UCSS` option to Admin Bar dropdown menu. (Ankit)
* 🌱**Guest** Added `litespeed_guest_off=1` URL query string parameter to bypass Guest Mode. (cbdfactum)
* 🐞**Page Optimize** Fixed an issue where CSS anchors could be wrongly converted to a full path when minifying. (Tynan)
* **Page Optimize** Bypass CCSS/UCSS generation when a self-crawled CSS resource returns a 404 code. (Abe)
* **Object** Allow `LSCWP_OBJECT_CACHE` predefined to turn off Object Cache. (knutsp)
* **Data** Fixed an issue where empty version tags in the database repeatedly toggled the upgrade banner and reset settings to default.
* **Purge** Fixed an issue where the site's index page could be purged upon deletion of an unviewable post. (Kevin)
* **Toolbox** Added `View site before optimization` button under `Debug` tab. (Ryan D)
* **Admin** Switch to using the `DONOTCACHEPAGE` constant to indicated WP-Admin pages are not cacheable.
* **Admin** Moved no-cache header to very beginning to avoid caching unexpected exits.
* **Cloud** Added message queue service for VPI. (Abe)
* **Cloud** Bypassed 503 error nodes from node redetection process. (Abe)
* **Cloud** Fixed a failure to detect `out_of_quota`. (Lauren)
* **Cloud** Added ability to display dismissable banners generated by QUIC.cloud.
* 🕸️**Crawler** Added realtime load detection before crawl.
* 🕸️**Crawler** Adjusted crawler behavior for Divi pages to allow for Divi's CCSS generation process. (miketemby)
* 🕸️**API** PHP constant `LITESPEED_CRAWLER_DISABLE_BLOCKLIST` and filter `litespeed_crawler_disable_blocklist` to disable blocklist. (Tobolo)
* **CDN** Automatically add a trailing slash to `CDN URL` and `Original URLs` if user didn't provide one. (Lucas)
* **Cache** When a URL redirects to a URL with a query string, consider these as different for caching purposes. (Shivam)
* **Media** Added ability to disable lazyload from the LiteSpeed Options metabox on Post Edit page.
* **Media** Added new default values to `WebP Attribute to Replace` setting for WPBakery and Slider Revolution. (JibsouX)
* **Image Optimize** Dropped redundant `Page Speed` user agent when serving WebP images. (serpentdriver)
* **GUI** Fixed an issue where manually dismissable admin messages were instead being treated as one-time messages. (Tynan Beatty)
* **GUI** Fixed an issue where subsequent admin alerts would overwrite existing alerts in the queue. (Kevin/Tynan)
* **GUI** Updated time offset in log. (Ruikai #PR444 #PR445)
* **GUI** Added `litespeed_media_ignore_remote_missing_sizes` API description.
* **CCSS** Fixed an issue where CCSS was unexpectedly bypassed if `CSS Combine` was OFF and `UCSS Inline` was ON. (Ruikai)
* **Debug** Added response headers to debug log. (Kevin)

= 4.6 - Mar 29 2022 =
* **Page Optimize** Improved compatibility for JS Delay.
* 🐞**Page Optimize** Fixed an issue for network subsites that occurred when only CSS/JS Minify are enabled.
* **Localization** Added query string compatibility for Resource URLs.
* **Vary** Fixed a potential PHP warning when server variable `REQUEST_METHOD` is not detected.
* **Cache** Guest Mode now respects Cache Excludes settings.
* **GUI** Added warning notice when enabling `Localize Resources` feature; each localized JS resource requires thorough testing!
* **GUI** Fixed a PHP Deprecated warning that occurred with the Mobile Cache User Agent setting on PHP v8.1+. (jrmora)
* **Conf** Removed Google related scripts from default `Localization Files` value.
* **Media** WordPress core Lazy Load feature is now automatically disabled when LiteSpeed Lazy Load Images option is enabled. (VR51 #Issue440)
* 🐞**API** Filter `litespeed_ucss_per_pagetype` for UCSS now also applies to CSS Combine to avoid UCSS failure. (Ankit)
* **API** Added a filter `litespeed_media_ignore_remote_missing_sizes` to disable auto detection for remote images that are missing dimensions. (Lucas)

= 4.5.0.1 - Feb 24 2022 =
* 🔥🐞**Media** Fixed an issue where lazy-loaded images would disappear when using custom CSS image loading effects.

= 4.5 - Feb 23 2022 =
* 🌱**Page Optimize** Localization is back.
* **Guest** Fixed organic traffic issue as different browsers may fail to set `document.referrer`.
* **Image Optimize** Improved wp_postmeta table compatibility when gathering images. (Thanks to Thomas Stroemme)
* 🐞**Page Optimize** Fixed a potential CSS/JS 404 issue for existing records that have been marked as expired.
* **ESI** `LITESPEED_ESI_OFF` now affects `litespeed_esi_url` API filter too.
* **Guest** Added a check to determine if Guest Mode is blocked by a third-party, and display warning if it is (Ruikai)
* **Guest** To support WP sites with multiple domains, Guest Mode detection URL no longer uses domain.
* **Report** Network now shows Toolbox page when having a large number of subsites.
* **DB Optimize** Reduced default subsites count from 10 to 3 under Network Admin -> DB Optimize page to avoid timeout.
* **Cloud** Fixed potential `lack_of_token` error when requesting domain key for cases where local summary value was not historically included in the array.
* **Cloud** Fixed a PHP fatal error that occurred when encountering a frequency issue under CLI. (Dean Taylor #Issue410)
* **Avatar** Force gravatar cache refresh in browsers and on CDN (rafaucau #PR430)
* **API** New filter `litespeed_purge_ucss` to purge a single page UCSS. (#376681)
* **API** New filter `litespeed_ucss_per_pagetype` for UCSS per page type generation. (Ankit)
* **GUI** Replaced some GUI text and settings with more inclusive language  (kebbet #PR437 #PR435)
* **3rd** Excluded `WP Statistics` from inline JS optimize. (Ryan D)
* **3rd** Added API filter `litespeed_3rd_aelia_cookies` for Aelia CurrencySwitcher.
* **Media** Updated image lazyload library to 17.5.0.

= 4.4.7 - Jan 11 2022 =
* **Page Optimize** Dropped `Inline Lazy Load Images Library` option. Now will always inline lazyload library. (Ankit)
* **3rd** Prevented JavaScript files from being appended to Rank Math SEO sitemap.
* **Purge** Dropped default stale purge when purging a post.
* **Cloud** Dropped unused API calls.
* **Cloud** Dropped redundant IP validation in API calls.

= 4.4.6 - Dec 27 2022 =
* **Guest** Restored `document.referrer` for organic traffic purposes when Guest Mode is enabled. (michelefns)
* **Image Optimize** Fixed a potential PHP notice when uploading images in WP w/ PHP7.4+. (titsmaker)
* **ESI** Fixed an issue where ESI settings were not updated on customized widgets(#422 Abe)
* **3rd** Reverted ESI Adminbar change on Elementor front pages for backward compatibility (#423 Abe)
* **3rd** Fixed an issue where disabling ESI potential caused a PHP warning when using `Perfmatters`. (Jeffrey Zhang)
* **Misc** Check whether HTTP_REFERER is set or not before using it in Router class. (#425 Abe)

= 4.4.5 - Dec 1 2021 =
* **Data** Fixed potential PHP notice when generating CSS/JS optimized files w/ PHP v7.4+. (Sarah Richardson/silencedgd/slr1979)
* **API** Added `LITESPEED_ESI_OFF` constant to disable ESI, when defined before the WP `init` hook.
* **API** Added `LSCWP_DEBUG_PATH` constant to specify debug log path. (khanh-nt)
* 🐞**GUI** Fixed an issue where admin messages were not displayed. (Daniel McD)
* **CDN** Used WP remote function to communicate w/ Cloudflare per WP guidance.
* **3rd** Added compatibility for Perfmatters plugin's script manager (#417 Abe)
* **3rd** Added compatibility for Elementor's Editor button when ESI is on (#418 Abe)

= 4.4.4 - Nov 23 2021 =
* **Page Optimize** Delay deletion of outdated CSS/JS files for a default of 20 days to avoid 404 errors with cached search engine copies.
* **Cache** When caching, no longer send a purge request for CSS/JS removal to avoid cache engine conflicts.
* 🐞**Core** Optimized SQL queries while autoloading if expected options are missing; reduced by 7 and 3 queries on backend and frontend respectively. (#396425 Jackson)
* **Page Optimize** Fixed a 404 issue that occurred when upgrading the plugin manually, with a package upload or through the plugin manager. (Tobolo/Małgorzata/Abe)
* **API** Added `litespeed_ccss_url` and `litespeed_ucss_url` API to manipulate the request URL for CCSS and UCSS.
* **REST** Fixed a potential warning when detecting cacheable status on REST call. (rafaucau)
* **OLS** Fixed an issue where the `COOKIEHASH` constant was undefined when used with OpenLiteSpeed as an MU plugin or with network activation.
* **3rd** Sanitized POST data for nextgengallery.
* **Cloud** Sanitized GET data when linking to QUIC.cloud. (#591762 WPScan)

= 4.4.3 - Oct 13 2021 =
* 🐞**Media** Fixed an issue where WebP is served erroneously under Guest Mode on older versions of Safari. (hash73)
* 🐞**Media** Reverted regex change to fix `Lazy Load Image Parent Class Name Excludes` failure. (thpstock)
* **Purge** Disabled `Purge Delay` in the optimization process by default.
* **Conf** Dropped `.htaccess Path Settings` options for security concern. (WP)
* **Conf** Dropped `CSS HTTP/2 Push`/`JS HTTP/2 Push` options. (Kevin)
* **Conf** Set `Guest Optimization` default to OFF.
* **Conf** Set `CCSS Per URL` default to OFF to avoid consuming more quota than intended after upgrade to v4. (n111)
* **Object** Fixed an issue with Object Cache warnings during upgrade, when Guest Mode is enabled.
* ☁️**Cloud** Fixed an issue with PHP notices when inquiring about quota usage for a service not currently in use.
* **GUI** Added GO detail warning. (n111)
* **GUI** Moved "quota will be still in use" warning from Guest Mode to Guest Optimization section.
* **API** Added `LITESPEED_CFG_HTACCESS` PHP Constant to specify .htaccess path.
* **API** Added `litespeed_qs_forbidden` hook to bypass `?LSCWP_CTRL=` query string. (minhduc)
* **API** Added `litespeed_delay_purge` hook to delay the following Purge header until the next request.
* **API** Added `litespeed_wpconfig_readonly` hook to disable `WP_CACHE` constant update based on the wp-config.php file. (#633545)

= 4.4.2 - Sep 23 2021 =
* **Purge** In order to clear pages containing 404 CSS/JS, the purge header will always be sent even in cases where purge must be delayed.
* 🐞**Purge** Fixed a potential PHP warning caused when generating different optimized filenames.
* **Cron** Dropped unnecessary HTML response in cron which sometimes resulted in wp-cron report email. (Gilles)
* **Page Optimize** Purge caused by CSS/JS file deletion will now be silent.
* **Page Optimize** Fixed an issue where the homepage failed to purge when addressing the 404 CSS/JS issue.
* **Avatar** Fixed potential localized Avatar folder creation warning. (mattk0220/josebab)
* **API** Added filter `litespeed_optm_html_after_head` to move all optimized code(UCSS/CCSS/Combined CSS/Combined JS) to be right before the `</head>` tag. (ducpl/Kris Regmi)
* **Debug** Under debug mode, cache/purge tags will be plaintext.

= 4.4.1 - Sep 16 2021 =
* 🐞**ESI** Fixed ESI failure on non-cached pages caused by `DONOTCACHEPAGE` constant.
* 🐞**Page Optimize** Fixed an issue where the minified CSS/JS file failed to update when the file was changed. (ceap80)
* 🐞**Page Optimize** Fixed an issue where the combined CSS/JS file randomly returned a 404 error when visiting the same URL with different query strings. (Abe)
* **API** Added `litespeed_const_DONOTCACHEPAGE` hook to control the cache-or-not result of the `DONOTCACHEPAGE` constant.

= 4.4 - Sep 8 2021 =
* 🌱**Crawler** Added the ability to enable or disable specific crawlers. (⭐ Contributed by Astrid Wang #PR390)
* 🌱**UCSS** Added `UCSS Inline` option. (Ankit).
* 🌱**UCSS** Added `UCSS URI Excludes` option. (RC Verma).
* 🐞**Page Optimize** Fixed an issue where combined CSS/JS files would potentially return 404 errors after a Purge All. (Special thanks to Abe & Ruikai)
* **Page Optimize** Minimized the potential for 404 errors by query string when Purging All.
* **Page Optimize** Dropped redundant query strings for minified CSS/JS files.
* **Conf** Ugrade configuration safely to avoid the issue of new functions not being found in old codebase.
* **Conf** Configuration upgrade process now adds a notification to admin pages and disables configuration save until upgrade is complete. (Lisa)
* **JS** Fixed an issue where JS Defer caused a `litespeed_var_1_ is not defined` error when enabled w/ ESI options. (Tobolo)
* 🐞**JS** Fixed an issue where `JS Delay` doesn't work for combined JS when `JS Combine` is enabled. (Special thanks to Joshua & Ankit)
* **JS** `JS Delay` now will continue loading JS, even if there is an error in the current JS loading process.
* 🐞**CCSS** If CCSS fails to generate, Load CSS Asynchronously will now be disabled. (Stars #54074166)
* 🐞**UCSS** If UCSS generation fails the generated error will no longer be served inside the file. (Ryan D)
* **Log** Updated the Debug log to use less code for prefix.
* **3rd** Always respect `DONOTCACHEPAGE` constant definition to fix DIVI dynamic css calculation process.

= 4.3 - Aug 16 2021 =
* **UCSS** Separated UCSS Purge from CCSS Purge. (⭐ Contributed by Alice Tang #PR388)
* 🐞**Cloud** Fixed an issue where CCSS/UCSS quota data failed to update locally.
* **Cloud** Added server load as a factor when detecting node availability.
* **Cloud** Improved the speed of checking daily quota and showing the related error message.
* **Cloud** Added ability to re-detect node availability if the current node is responding w/ a heavy load code.
* **Cloud** CCSS/UCSS/LQIP queue now exits immediately when quota is depleted.
* **Cloud** Replaced separate `d/regionnodes` with a single `d/nodes` in the node list API for image optimization.
* **LQIP** Fixed an issue with LQIP network compatibility. (⭐ Contributed by Alice Tang #PR387)
* **GUEST** JS no longer preloads for Guest Optimization. (Ankit)
* 🐞**Data** Fixed an issue where deleting the `cssjs` data folder causes a failure in the upgrade process. (Joshua #PR391)
* **GUI** Fixed a potential dashboard PHP warning when no queue existed. (jrmora)
* **GUI** Added daily quota on dashboard.
* **GUI** Added downgrade warning to Toolbox -> Beta Test.
* **GUI** Tuned `.litespeed-desc` class to full width in CSS.
* **Conf** `Preserve EXIF/XMP data` now defaults to ON due to copyright concerns. (Tobolo)
* 🐞**3rd** Fixed a PHP warning when using Google AMP w/ /amp as structure. (thanhstran98)

= 4.2 - Jul 29 2021 =
* **Cloud** Auto redirect to a new node if the current node is not available anymore.
* **Cloud** Combined CCSS/UCSS to sub services of Page Optimization.
* **Cloud** Added a daily quota rate limit to help mitigate the heavy service load at the beginning of the month.
* **Cloud** Cached the node IP list in order to speed up security check. (Lucas)
* 🐞**GUEST** Fixed an issue where Guest Mode remained enabled even when the UA setting is empty. (Stars)
* **GUEST** Guest Mode will no longer cache POST requests.
* **UCSS** Purging CSS/JS now purges the UCSS queue as well, to avoid failure when generating UCSS.
* **UCSS** Separated service entry `UCSS` from `CCSS`.
* **CCSS** Simplified `load_queue/save_queue/build_filepath_prefix` functions. (⭐ Contributed by Alice Tang #PR373)
* **CCSS** If CCSS request fails, details are now saved in the CSS file.
* **CCSS** Renamed CCSS ID in inline HTML from `litespeed-optm-css-rules` to `litespeed-ccss`. (Alice)
* **Page Optimize** CCSS/UCSS now supports Cloud queue/notify for asynchronous generation.
* **Page Optimize** Simplified CCSS/UCSS generation function.
* **Page Optimize** Added the ability to cancel CCSS/UCSS Cloud requests.
* **Page Optimize** Unnecessary quesry strings will now be dropped from CSS/JS combined files.
* **Crawler** Reset position now resets crawler running status too.
* **REST** Cloud request to REST will now detect whether an IP in in the Cloud IP list for security reasons.
* **Object** Enhanced Object Cache compatibility for `CONF_FILE` constant detection.
* **API** Added shorter alias `litespeed_tag` and other similar aliases for Cache Tag API.
* **API** Renamed `LITESPEED_BYPASS_OPTM` to `LITESPEED_NO_OPTM` for Page Optimization.
* **Toolbox** Dropped v3.6.4- versions in Beta Test as they will cause a fatal error in downgrade.
* **GUI** Added shortcut links to each section on the Dashboard.
* **GUI** Added UCSS whitelist usage description. (wyb)
* **GUI** Showed the default recommended values for Guest Mode UA/IPs.
* **3rd** Fixed AMP plugin compatibility. (⭐ Contributed by Alice Tang #PR368)
* **3rd** Bypassed all page optimization including CDN/WebP for AMP pages.
* **3rd** Improved compatibility with All in One SEO plugin sitemap. (arnaudbroes/flschaves #Issue372)
* **3rd** Added wsform nonce. (#365 cstrouse)
* **3rd** Added Easy Digital Download (EDD) & WP Menu Cart nonce. (#PR366 AkramiPro)
* **3rd** Improved compatibility w/ Restrict Content Pro. (Abe #PR370)
* **3rd** Improved compatibility w/ Gravity Forms. (Ruikai #371)

= 4.1 - Jun 25 2021 =
* 🌱**UCSS/CCSS/LQIP** Moved queue storage to file system from database wp-options table to lessen the IO load. (#633504)
* 🌱**3rd** Added an option to disable ESI for the WooCommerce Cart. (#358 Anna Feng/Astrid Wang)
* **ESI** Fixed an ESI nonce issue introduced in v4.0. (Andrew Choi)
* **Object** Used new `.litespeed_conf.dat` instead of `.object-cache.ini` for object cache configuration storage.
* **Conf** Now updating related files after plugin upgrade and not just after activation.
* 🌱**Guest** Added a Guest Mode JS Excludes option. (Ankit/Mamac/Rcverma)
* **Guest** Guest Mode now uses a lightweight script to update guest vary for reduced server load.
* **Guest** Guest Mode now adds missing image dimensions.
* **Guest** Guest vary will no longer update if there's already a vary in place to address the infinite loop caused by CloudFlare's incorrect cache control setting for PHP.
* **Guest** Guest vary update request will no longer be sent if `lscache_vary` is already set.
* **Guest** Added a Configurable Guest Mode UA/IP under the Tuning tab in the General menu.
* **Guest** Guest Mode now allows cron to be hooked, even when UCSS/CCSS options are off. (#338437 Stars)
* **Guest** Simplified the vary generation process under Guest Mode.
* **Guest** Added a Guest Mode HTML comment for easier debugging. (Ruikai)
* **Guest** Guest vary update ajax now bypasses potential POST cache.
* **CCSS** Added back the options `Separate CCSS Cache Post Types` and `Separate CCSS Cache URIs`. (Joshua/Ankit)
* **CCSS** CCSS/UCSS queue is now limited to a maximum of 500 entries.
* **Control** The cache control constant `LSCACHE_NO_CACHE` will now have a higher priority than the Forced Public Cache setting.
* **Crawler** The Crawler can now crawl Guest Mode pages.
* **Crawler** Fixed a potential XSS vulnerability in the Crawler settings. (#927355)
* **Crawler** The Crawler now supports a cookie value of `_null`. (Tobolo)
* **Media** Updated the default value for the Responsive Placeholder SVG to be transparent.
* **Media** WebP images in the background may now be served in Guest Mode.
* **Media** WebP images in CSS may now be bypassed if the requesting Guest Mode client doesn't support WebP.
* **Media** Fixed empty default image placeholder under Guest Mode.
* 🐞**Image Optimize** Changed the missing `$_POST` to `$post_data` so the database status is properly updated. (#345 Lucas)
* **Import** Export file is now readable to allow importing of partial configurations. (Ryan D/Joshua)
* **Page Optimize** Fixed W3 validator errors in Guest Mode. (#61393817)
* **3rd** A fatal WooCommerce error is no longer triggered by a custom theme reusing a previous LSCWP cache detection tag.
* **3rd** AMP may now bypass Guest Mode automatically.
* **Localize** Dropped the `Localize Resources` option as Guest Mode is a sufficient replacement. (Note: Due to user feedback during the development period, we have decided to reinstate this option in a future version.)
* **Cloud** Changed the WP API url.
* **Lang** Corrected a missing language folder.
* **GUI** Added a CCSS/UCSS loading page visualization. (⭐ Contributed by Astrid Wang & Anna Feng #PR360)
* **GUI** Added a warning to indicate when Guest Mode CCSS/UCSS quota is in use. (Contributed by Astrid Wang & Anna Feng #PR361)
* **GUI** Added a `litespeed-info` text color. (Astrid Wang)
* **GUI** Implemented various UI/UX improvements. (Joshua/Lisa)
* **GUI** Duplicate cloud service messages with the same content will only display once now. (Marc Dahl)
* **GUI** Added a WebP replacement warning for Guest Mode Optimization if WebP replacement is off.
* **Misc** Dropped `wp_assets` from distribution to reduce the package size. (lowwebtech)
* **Misc** Increased the new version and score detection intervals.
* **Misc** Optimized WP Assets images. (#352 lowwebtech)
* **Debug** Dropped the redundant error_log debug info.

= 4.0 - Apr 30 2021 =
* 🌱🌱🌱**Guest** Introduced `Guest Mode` for instantly cacheable content on the first visit.
* 🌱**UCSS** Added a new service: `Unique CSS`, to drop unused CSS from elements from combined CSS
* 🌱**CCSS** Added `HTML Lazyload` option. (Ankit)
* 🌱**CCSS** Added `CCSS Per URL` option to allow Critical CSS to be generated for each page instead of for each Post Type.
* 🌱**Media** Added `Add Missing Sizes` setting for improving Cumulative Layout Shift. (Fahim)
* 🌱**JS** Switched to new JS minification library for better compression and compatibility w/ template literals. (LuminSol)
* **Media** WebP may now be replaced in CSS.
* **Media** Can now drop image tags in noscript to avoid lazyload. (Abe #314 /mattthomas-photography)
* **Media** Bypass optimization if a page is not cacheable.
* **Image Optimize** Auto hook to `wp_update_attachment_metadata` to automate image gathering process, and to handle the new thumbnail generation after images are uploaded. (smerriman).
* **Image Optimize** Repeated image thumbnails won't be gathered anymore.
* **Image Optimize** Simplified the rescan/gather/upload_hook for existing image detection.
* **Image Optimize** Fixed the duplicated optimize size records in the postmeta table. (Abe #315)
* **Image Optimize** Allow either JSON POST request or normal form request in `notify_img`. (Lucas #313)
* **Image Optimize** Optimized SQL query for better efficiency. (lucas/Lauren)
* **Image Optimize** Fixed issue where rescan mass created duplicate images. (#954399)
* **Image Optimize** Image optimization pie will not show 100% anymore if there is still a small amount in the unfinished queue.
* **Image Optimize** WebP generation defaults to ON for Guest Mode.
* **Image Optimize** `Priority Line` package now can have smaller request interval.
* **ESI** Disable ESI when page is not cacheable. (titsmaker)
* **ESI** Fixed an issue where Divi was disabling all in edit mode, but couldn't disable ESI. (Abe)
* **ESI** ESI init moved under `init` hook from `plugin_loaded` hook.
* **CDN** Add basic support for CloudFlare API Tokens (Abe #320)
* **CSS** Simplified `Font Display Optimization` option.
* **CSS** Fixed manual cron timeout issue. (jesse Distad)
* **CSS** Inline CSS may now use `data-no-optimize` to be excluded from optimization. (popaionut)
* **JS** Combined `Load JS Defer` and `Load Inline JS Defer` options.
* **JS** Forced async to defer.
* **JS** Moved Google Analytics JS from constant default to setting default for removal.
* **JS** Fixed potential JS parsing issue caused by JS src being changed to data-src by other plugins. (ankit)
* **JS** Excluded spotlight from JS optimize. (tobolo)
* **CCSS** Fixed CCSS/UCSS manual cron timeout issue.
* **CCSS** Only 10 items will be kept for CCSS history.
* **CCSS** The appearance of CCSS Purge in the topbar menu will be determined by the existence of CCSS cache, and not the setting only.
* **CCSS** To avoid stuck queues when the current request keeps failing, the CCSS queue will always drop once requested.
* **CCSS** CCSS will no longer hide adminbar.
* **CCSS** CCSS may now be separate for network subsites. (Joshua)
* **CCSS** Gave CCSS a unique filename per URL per user role per subsite.
* **CCSS** Dropped `Separate CCSS Cache Post Types` option.
* **CCSS** Dropped `Separate CCSS Cache URIs` option.
* **CCSS** Subsites purge Avatar/CSS/JS/CCSS will not affect the whole network anymore.
* **CCSS** Implemented a better queue list for CCSS that auto collapses if there are more than 20 entries, and shows the total on top.
* **CSSJS** Now using separate CSS and JS folders instead of `cssjs`.
* **CSSJS** Automatically purge cache after CCSS is generated.
* **Network** Dropped network CSS/JS rewrite rules.
* **Cache** Send cache tag header whenever adding a tag to make it effective in the page optimization process.
* **Core** Used hook for buffer optimization; Used `init()` instead of `constructor`.
* **Object** Used `cls` instead of `get_instance` for init.
* **Cloud** Replaced one-time message with a dismissible-only message when the domain key has been automatically cleared due to domain/key dismatch.
* **API** Dropped function `hook_vary_add()`.
* **API** Dropped function `vary_add()`.
* **API** Dropped function `filter_vary_cookies()`.
* **API** Dropped function `hook_vary()`.
* **API** Dropped action `litespeed_vary_add`.
* **API** Dropped filter `litespeed_api_vary`.
* **API** Use `litespeed_vary_curr_cookies` and `litespeed_vary_cookies` for Vary cookie operations instead.
* **API** Dropped action `litespeed_vary_append`.
* **Vary** 3rd party vary cookies will not append into .htaccess anymore but only present in response vary header if in use.
* **Vary** Dropped function `append()`.
* **Vary** Commenter cookie is now considered cacheable.
* **Crawler** Minor update to crawler user agent to accommodate mobile_detect.php (Abe #304)
* **Data** Added a table truncate function.
* **Data** Added new tables url & url_file.
* **Data** Dropped cssjs table.
* **Data** Options/Summary data is now stored in JSON format to speed up backend visit. (#233250)
* **Data** Default `CSS Combine External and Inline` and `JS Combine External and Inline` to On for new installations for better compatibility.
* **Purge** Fixed potential purge warning for certain themes.
* **Purge** Purge will be stored for next valid visit to trigger if it is initially generated by CLI.
* **Page Optimize** `CSS Combine`/`JS Combine` will now share the same file if the contents are the same. Limited disk usage for better file usage and fewer issues with random string problems.
* **Page Optimize** Dropped option CSS/JS Cache TTL.
* **Page Optimize** Bypass optimization if page not cacheable.
* **Page Optimize** Purge CSS/JS will purge the `url_file` table too.
* **Page Optimize** Optionally store a vary with a shorter value.
* **Page Optimize** Removing query strings will no longer affect external assets. (ankit)
* **Page Optimize** Better regex for optimization parsing.
* **Page Optimize** Eliminated w3 validator for DNS prefetch and duplicated ID errors. (sumit Pandey)
* **Page Optimize** New Optimization for Guest Only option under Tuning.
* **Page Optimize** Now forbidding external link redirection for localization.
* **Debug** Implemented a better debug format for the 2nd parameter in the log.
* **GUI** Bypass page score banner when score is not detected (both 0). (ankit)
* **GUI** Fixed deprecated JQuery function warning in WP-Admin. (krzxsiek)

= 3.6.4 - Mar 15 2021 =
* **Toolbox** Fixed Beta Test upgrade error when upgrading to v3.7+.

= 3.6.3 - Mar 10 2021 =
* **Core** Fixed potential upgrade failure when new versions have changes in activation related functions.
* **Core** Upgrade process won't get deactivated anymore on Network setup.

= 3.6.2 - Feb 1 2021 =
* **Page Optimize** Fixed an issue where network purge CSS/JS caused 404 errors for subsites.
* **Page Optimize** Fixed an issue where purge CSS/JS only caused 404 errors.
* **Page Optimize** Added a notice for CSS/JS data detection and potential random string issue.
* **Page Optimize** Limited localization resources to specified .js only. (closte #292/ormonk)
* **JS** Data src may now be bypassed from JS Combine. (ankit)
* **CLI** Fixed a message typo in Purge. (flixwatchsupport)
* **Browser** Added font/otf to Browser Cache expire list. (ruikai)
* **Data** Updated data files to accept PR from dev branch only.
* **3rd** Add data-view-breakpoint-pointer to js_excludes.txt for the Events Calendar plugin. (therealgilles)
* **Cloud** Bypassed invalid requests.
* **Doc** CDN Mapping description improvement. (mihai A.)

= 3.6.1 - Dec 21 2020 =
* **WP** Tested up to WP v5.6.
* **WebP** Reverted WebP support on Safari Big Sur and Safari v14.0.1+ due to an inability to detect MacOS versions from UA. (@antomal)
* **CDN** Dropped the option `Load JQuery Remotely`.
* **CDN** Fixed CDN URL replacement issue in optimized CSS files. (@ankit)
* **CDN** Fixed an issue where CDN CLI wouldn't set mapping image/CSS/JS to OFF when `false` was the value.
* **CDN** Started using React for CDN Mapping settings.
* **GUI** Secured Server IP setting from potential XSS issues. (@WonTae Jang)
* **Toolbox** Supported both dev and master branches for Beta Test. Latest version updated to v3.6.1.
* **Purge** Purge Pages now can purge non-archive pages too.
* **Admin** Simplified the admin JS.
* **Admin** Limited crawler-related react JS to crawler page only.

= 3.6 - Dec 14 2020 =
* 🌱**WebP** Added WebP support on Safari Big Sur or Safari v14.0.1+. (@ruikai)
* 🐞**Config** Fixed an issue where new installations were not getting the correct default .htaccess content.
* **Crawler** Will auto bypass empty sub-sitemap instead of throwing an exception. (@nanoprobes @Tobolo)
* **Crawler** Now using React for Cookie Simulation settings instead of Vue.js. Dropped Vue.js.
* **Crawler** Dropped `Sitemap Generation` (will only use 3rd party sitemap for crawler).
* **CSS** Added `CSS Combine External and Inline` option for backward compatibility. (@lisa)
* **Object** Forbid .object-cache.ini visits. (@Tarik)
* **Page Optimize** Dropped `Remove Comments` option to avoid combine error.
* **CSS** Added a predefined CSS exclude file `data/css_excludes.txt`.
* **CSS** Excluded Flatsome theme random inline CSS from combine.
* **CSS** Excluded WoodMart theme from combine. (@moemauphie)
* **Page Optimize** Excluded tagDiv.com Newspaper theme dynamic CSS/JS from CSS/JS Combine.
* **CSS** Added predefined JS defer excludes list. (@Shivam)
* **JS** `data-no-defer` option now supports inline JS. (@rafaucau)
* **Media** Lazyload inline library is now bypassed by JS Combine.
* **Admin** Fixed WP-Admin console ID duplicate warnings.
* **Cloud** Dropped QUIC.cloud sync options that have long been unused.
* **CSS** Dropped `Unique CSS File` option (UCSS will always generate unique file, will use whitelist to group post type to one CSS).
* **GUI** Dropped Help tab.
* **Toolbox** Added 3.5.2 to version list.

= 3.5.2 - Oct 27 2020 =
* **CSS** `CSS Combine` is now compatible w/ inline noscript CSS. (@galbaras)
* **GUI** Added ability to manually dismiss the JS option reset message in v3.5.1 upgrade process. (#473917)
* 🐞**CSS** `CSS Excludes` setting will no longer lose items beginning w/ `#`. (@ankit)
* **API** New `litespeed_media_reset` API function for image editing purposes. (@Andro)

= 3.5.1 - Oct 20 2020 =
* **JS** Inline JS containing nonces can now be combined.
* **JS** Reset JS Combine/Defer to OFF when upgrading to avoid breaking sites.
* **JS** Added new option JS Combine External and Inline to allow backwards compatibility.
* **JS** Added Inline JS Defer option back. (@ankit)
* **Page Optimize** Dropped Inline JS Minify option and merged the feature into JS Minify.
* **JS** Pre-added jQuery to the default JS excludes/defer list for better layout compatibility for new users.
* **JS** Excluded Stripe/PayPal/Google Map from JS optimization. (@FPCSJames)
* **JS** Allowed excluded JS to still be HTTP2 pushed. (@joshua)
* **CCSS** Critical CSS now can avoid network pollution from other sites. (@ankit)
* **Toolbox** Beta Test now displays recent public versions so it is easier to revert to an older version
* **Vary** Server environment variable Vary can now be passed to original server from QUIC.cloud for non-LiteSpeed servers.
* **ESI** Improved backward compatibility for ESI nonce list. (@zach E)
* 🐞**Misc** Fixed failure of upgrade button on plugin news banner and made cosmetic improvements.
* **Doc** Added note that LSCWP works with ClassicPress.

= 3.5.0.2 - Sep 30 2020 =
* This is a temporary revert fix. Code is SAME as v3.4.2.

= 3.5.0.1 - Sep 29 2020 =
* 🔥🐞**CSS** Fixed print media query issue when having CSS Combine. (@paddy-duncan)

= 3.5 - Sep 29 2020 =
* **Page Optimize** Refactored CSS/JS optimization.
* **Page Optimize** CSS and JS Combine now each save to a single file without memory usage issues.
* **CSS** Inline CSS Minify is now a part of CSS Minify, and will respect the original priorities. (thanks to @galbaras)
* **JS** JS Combine now generates a single JS file in the footer. (Special thanks to @ankit)
* **JS** JS Combine now combines external JS files, too. (Thanks to @ankit)
* **JS** JS Deferred Excludes now uses the original path/filename as keywords instead of the minified path/filename, when JS Minify is enabled.
* **JS** JS Combine now combines inline JS, too.
* **JS** JS Excludes may now be used for inline JS snippet.
* **Page Optimize** Inline CSS Minify and Max Combined File Size retired due to changes listed above.
* **CSS** Combined CSS Priority retired due to changes listed above.
* **JS** Exclude JQuery, Combined JS Priority, Load Inline JS Deferred, and Inline JS Deferred Excludes retired due to changes listed above.
* **JS** Predefined data file data/js_excludes.txt now available for JS Excludes.
* **ESI** Predefined data file data/esi.nonces.txt now available for ESI Nonces.
* **ESI** Remote Fetch ESI Nonces functionality retired.
* **API** Added support for new litespeed_esi_nonces filter.
* **Object** Object Cache will not try to reconnect after failure to connect in a single process.
* **CCSS** Remote read CSS will add the scheme if it is missing from the URL.
* **CCSS** CSS will no longer be prepared for a URL if 404 result is detected.
* **CCSS** Fixed most failures caused by third party CSS syntax errors.
* **CCSS** Remote read CSS will fix the scheme if the URL doesn't have it.
* **CCSS** Excluded 404 when preparing CSS before request.
* **CCSS** Adjusted CCSS timeout from 180 seconds to 30 seconds.
* **Image Optimize** Fixed the delete attachment database error that occurred when not using the image optimization service yet.
* **Media** Added iOS 14 WebP support.
* **Data** Fixed database creation failure for MySQL v8.
* **Cloud** Error code err_key will clear the domain key in order to avoid duplicate invalid requests.
* **Network** Fixed issue with object cache password file storage that occurred when resaving the settings. (#302358)
* **Misc** Fixed IP detect compatibility w/ Apache.
* **GUI** Fixed the description for Do Not Cache Categories.
* **Preload** Upgraded Instant Click to a new stable preload library. (@stasonua0)

= 3.4.2 - Sep 8 2020 =
* **CCSS** Corrected the issue that wrongly appended non-CSS files to CSS in links before sending request.
* **3rd** YITH wishlist now sends a combined single sub request for all widgets contained in one page. (LSWS v5.4.9 build 3+ required)
* **ESI** Added support for ESI combine feature.
* **GUI** Dropped banner notification for missing domain key when domain key is not initialized.
* **Log** When QC whitelist check fails, a detailed failure log is now appended.

= 3.4.1 - Sep 2 2020 =
* 🐞**CCSS** Fixed an issue where dynamically generated CSS failed with `TypeError: Cannot read property type of undefined`.
* 🐞**Page Optimize** Fixed CSS optimization compatibility for CSS dynamically generated with PHP.
* **Page Optimize** Added the ability to defer JS even when the resource is excluded from other JS optimizations. (@slr1979)
* **ESI** Added support for ESI last parameter inline value.
* **3rd** YITH Wishlist, when cached for the first time, will no longer send sub requests.

= 3.4 - Aug 26 2020 =
* 🌱**LQIP** New setting **LQIP Excludes**.
* 🌱**LQIP** Added a Clear LQIP Queue button.
* 🌱**CCSS** Added a Clear CCSS Queue button.
* **CCSS** Fixed an issue which wrongly included preloaded images in CCSS. (@pixtweaks)
* **Network** Primary site and subsite settings now display correctly.
* **Page Optimize** Noscript tags generated by LSCWP will only be dropped when the corresponding option is enabled. (@ankit)
* **DB Optimize** Fixed database optimizer conflicts w/ object cache transient setting. (#752931)
* **3rd** Fixed an issue with WooCommerce product purge when order is placed.
* **3rd** Improved WooCommerce product comment compatibility with **WooCommerce Photo Reviews Premium** plugin when using ESI.
* **CDN** Fixed Remote jQuery compatibility with WordPress v5.5. (@pixtweaks)
* **API** New API `litespeed_purge_all_object` and `litespeed_purged_all_object` action hooks.

= 3.3.1 - Aug 12 2020 =
* 🌱**Page Optimize** New option to Remove Noscript Tags. (@phuc88bmt)
* 🐞**LQIP** Fixed a critical bug that bypassed all requests in v3.3.
* **LQIP** Requests are now bypassed if domain has no credit left.
* **Page Optimize** Inline defer will be bypassed if document listener is detected in the code. (@ssurfer)
* **CCSS** Print-only styles will no longer be included in Critical CSS.
* **API** Added hooks to Purge action to handle file deletions. (@biati)
* **Cloud** Plain permalinks are no longer required for use of cloud services.
* **Data** Added an access denial to work with OpenLiteSpeed. (@spenweb #PR228)
* **GUI** Spelling and grammar adjustments. (@blastoise186 #PR253)

= 3.3 - Aug 6 2020 =
* 🌱**Page Optimize** Added a new setting, Inline JS Deferred Excludes. (@ankit)
* **Page Optimize** CSS/JS Combine/Minify file versions will be differentiated by query string hash instead of new filename to reduce DB/file system storage.
* **Page Optimize** Added the ability to use local copies of external JS files for better control over page score impacts.
* **Page Optimize** Improved combination of CSS media queries. (@galbaras)
* **Page Optimize** Reprioritized Inline JS Defer to be optimized before encoding, for a significantly smaller result.
* **LQIP** Detect if the file exists before sending LQIP request to QUIC.cloud.
* **CCSS** Sped up CCSS process significantly by sending HTML and CSS in request.
* **CCSS** Improvements to mobile CSS support in CCSS.
* **CCSS** Minimize CCSS failures by attempting to automatically fix CSS syntax errors.
* **Cloud** Domain Key will be deleted after QUIC.cloud site_not_registered error to avoid endless repeated requests.
* **CDN** CDN Original URL will default to WP Site URL if not set. (@ruikai)
* **CLI** Global output format `--format=json/yaml/dump` and `--json` support in CLI. (@alya1992)
* **CDN** Improved handling of non-image CSS `url()` sources in CDN. (@daniel McD)
* 🐞**CDN** Fixed CDN replacement conflict w/ JS/CSS Optimize. (@ankit)
* **Crawler** Only reset Crawler waiting queues when crawling begins. (@ruikai)
* **Network** Network Enable Cache is no longer reset to ON Use Network Settings in enabled. (@RavanH)
* 🐞**Activation** Fixed a PHP warning that appeared during uninstall. (@RavanH)
* **Debug** Automatically omit long strings when dumping an array to debug log.
* **Report** Subsites report now shows overwritten values along w/ original values. (#52593959)
* **REST** Improved WP5.5 REST compatibility. (@oldrup)
* **GUI** Server IP setting moved from Crawler menu to General menu.
* **GUI** Localize resources moved to Localization tab.
* **Config** News option now defaults to ON.

= 3.2.4 - Jul 8 2020 =
* **Object** New installations no longer get custom data.ini reset, as this could cause lost configuration. (@Eric)
* **ESI** Now using `svar` to load nonces more quickly. (@Lauren)
* **ESI** Fixed the conflicts between nonces in inline JS and ESI Nonces when Inline JS Deferred is enabled. (@JesseDistad)
* 🐞**ESI** Fixed Fetch Latest Predefined Nonce button.
* 🐞**Cache** Fixed an issue where mobile visits were not being cached when Cache Mobile was disabled.
* **CDN** Bypass CDN constant `LITESPEED_BYPASS_CDN` now will apply to all CDN replacements.
* **Router** Dropped `Router::get_uid()` function.
* **Crawler** Updated role simulator function for future UCSS usage.
* **GUI** Textarea will now automatically adjust the height based on the number of rows input.
* **CLI** Fixed an issue that caused WP-Cron to exit when a task errored out. (@DovidLevine @MatthewJohnson)
* **Cloud** No longer communcate with QUIC.cloud when Domain Key is not set and Debug is enabled.
* **Cloud** Score banner no longer automatically fetches a new score. (@LucasRolff)

= 3.2.3.2 - Jun 19 2020 =
* 🔥🐞**Page Optimize** Hotfix for CSS/JS minify/combine. (@jdelgadoesteban @martin_bailey)

= 3.2.3.1 - Jun 18 2020 =
* **API** New filter `litespeed_buffer_before` and `litespeed_buffer_after`. (#PR243 @joejordanbrown)

= 3.2.3 - Jun 18 2020 =
* 🌱**Page Optimize** Added Unique CSS option for future removal of unused CSS per page. (@moongear)
* **Page Optimize** Fixed an issue where Font Optimization could fail when having Load JS Deferred and Load Inline JS Deferred. (#PR241 @joejordanbrown)
* 🐞**Page Optimize** Fixed an issue with Font Display Optimization which caused Google Fonts to load incorrectly. (#PR240 @joejordanbrown @haidan)
* 🐞**Network** Use Primary Site Configuration setting for network sites now works properly with Object Cache and Browser Cache. (#56175101)
* **API** Added filter `litespeed_is_from_cloud` to detect if the current request is from QC or not. (@lechon)
* **ESI** ESI Nonce now can fetch latest list with one click.
* **GUI** Updated remaining documentation links & some minor UI tweaks. (@Joshua Reynolds)

= 3.2.2 - Jun 10 2020 =
* 🌱**Purge** Scheduled Purge URLs now supports wildcard. (#427338)
* 🌱**ESI** ESI Nonce supports wildcard match now.
* **Network** Use Primary Site Settings now can support Domain Key, and override mechanism improved. (@alican532 #96266273)
* **Cloud** Debug mode will now have no interval limit for most cloud requests. (@ruikai)
* **Conf** Default Purge Stale to OFF.
* **GUI** Purge Stale renamed to Serve Stale.
* **Data** Predefined nonce list located in `/litespeed-cache/data/esi.nonce.txt`. Pull requests welcome.
* **Debug** Limited parameter log length.
* 🐞**CDN** Fixed an issue where upgrading lost value of CDN switch setting. (#888668)
* **3rd** Caldera Forms ESI Nonce enhancement. (@paconarud16 @marketingsweet)
* **3rd** Elementor now purges correctly after post/page updates.
* **3rd** Disabled Page Optimization features on AMP to avoid webfont JS inject. (@rahulgupta1985)

= 3.2.1 - Jun 1 2020 =
* **Cloud** LQIP/CCSS rate limit tweaks. (@ianpegg)
* **Admin** Improved frontend Admin Bar menu functionality. (#708642)
* **Crawler** Fixed an issue where cleaning up a crawler map with a leftover page number would cause a MySQL error. (@saowp)
* **Image Optimize** Added WP default thumbnails to image optimization summary list. (@johnny Nguyen)
* **REST** Improved REST compatibility w/ WP4.4-. (#767203)
* **GUI** Moved Use Primary Site Configuration to General menu. (@joshua)

= 3.2 - May 27 2020 =
* **Image Optimize** Major improvements in queue management, scalability, and speed. (@LucasRolff)
* **Cloud** Implemented a series of communication enhancements. (@Lucas Rolff)
* **Crawler** Enhanced PHP 5.3 compatibility. (@JTS-FIN #230)
* **Page Optimize** Appended image template in wpDiscuz script into default lazyload image exclude list. (@philipfaster @szmigieldesign)
* **Page Optimize** Eliminated the 404 issue for CSS/JS in server environments with missing SCRIPT_URI. (@ankit)
* **Data** ENhanced summary data storage typecasting.

= 3.1 - May 20 2020 =
* 🌱**Network** Added Debug settings to network level when on network.
* 🐞**Purge** Network now can purge all.
* 🐞**Network** Fixed issue where saving the network primary site settings failed.
* **Network** Moved Beta Test to network level when on network.
* 🐞**Cache** Fixed issue in admin where new post editor was wrongly cached for non-admin roles. (@TEKFused)
* 🐞**Data** Fixed issue with crawler & img_optm table creation failure. (@berdini @piercand)
* 🐞**Core** Improved plugin activation compatibility on Windows 10 #224 (@greenphp)
* **Core** Improved compatibility for .htaccess path search.
* **Object** Catch RedisException. (@elparts)
* Fixed Script URI issue in 3.0.9 #223 (@aonsyed)
* **Image Optimize** Show thumbnail size set list in image optimization summary. (@Johnny Nguyen)
* **Debug** Parameters will now be logged.

= 3.0.9 - May 13 2020 =
* **Purge** Comment cache can be successfully purged now.
* **Data** Better MySQL charset support for crawler/image optimize table creation. (@Roshan Jonah)
* **API** New hook to fire after Purge All. (@salvatorefresta)
* **Crawler** Resolve IP for crawler.
* **Task** PHP5.3 Cron compatibility fix.
* **3rd** Elementor edit mode compatibility.
* **Page Optimize** Fixed an issue where Purge Stale returned 404 for next visitor on CSS/JS.
* **Page Optimize** Fixed the PHP warning when srcset doesn't have size info inside. (@gvidano)
* **Cloud** Fixed the potential PHP warning when applying for the domain key.
* **Core** PHP __DIR__ const replacement. (@MathiasReker)

= 3.0.8.6 - May 4 2020 =
* **CCSS** Bypassed CCSS functionality on frontend when domain key isn't setup yet.
* **Cloud** Fixed WP node redetection bug when node expired. (@Joshua Reynolds)
* **Crawler** Fixed an issue where URL is wrongly blacklisted when using ADC.

= 3.0.8.5 - May 1 2020 =
* 🔥🐞**3rd** Hotfix for WPLister critical error due to v3.0.8.4 changes.
* **Image Optimize** Unfinished queue now will get more detailed info to indicate the proceeding status on node.
* **CLI** Options can now use true/false as value for bool. (@gavin)
* **CLI** Detect error if the ID does not exist when get/set an option value.
* **Doc** An API comment typo for `litespeed_esi_load-` is fixed.

= 3.0.8.4 - Apr 30 2020 =
* 🌱**Crawler** New setting: Sitemap timeout. (#364607)
* **Image Optimize** Images that fail to optimize are now counted to increase next request limit.
* **Cloud** Redetect fastest node every 3 days.
* **Cloud** Suppressed auto upgrade version detection error. (@marc Dahl)
* **3rd** 3rd party namespace compatibility. (#366352)

= 3.0.8.3 - Apr 28 2020 =
* **Cloud** Better compatibility for the Link to QUIC.cloud operation. (@Ronei de Sousa Almeida)
* **Image Optimize** Automatically clear invalid image sources before sending requests. (@Richard Hordern)

= 3.0.8.2 - Apr 27 2020 =
* **GUI** Corrected the Request Domain Key wording.

= 3.0.8.1 - Apr 27 2020 =
* **Object** Object cache compatibility for upgrade from v2.9.9- versions.

= 3.0.8 - Apr 27 2020 =
* Released v3 on WordPress officially.

= 3.0.4 - Apr 23 2020 =
* **Cloud** Apply Domain Key now receives error info in next apply action if failed to generate.
* **GUI** Apply Domain Key timeout now displays troubleshooting guidance.
* **REST** Added /ping and /token to REST GET for easier debug.
* **Cache** Dropped `advanced-cache.php` file detection and usage.

= 3.0.3 - Apr 21 2020 =
* **Conf** Settings from all options (data ini, defined constant, and forced) will be filtered and cast to expected type.
* **Upgrade** CDN mapping and other multiple line settings will now migrate correctly when upgrading from v2 to v3.

= 3.0.2 - Apr 17 2020 =
* **GUI** More guidance on domain key setting page.
* **Cloud** Now Apply Domain Key will append the server IP if it exists in Crawler Server IP setting.

= 3.0.1 - Apr 16 2020 =
* **Data** Increased timeout for database upgrade related to version upgrade. Display a banner while update in progress.
* **Page Optimize** All appended HTML attributes now will use double quotes to reduce the conflicts when the optimized resources are in JS snippets.

= 3.0 - Apr 15 2020 =
* 🌱**Media** LQIP (Low Quality Image Placeholder).
* 🌱**Page Optimize** Load Inline JS Deferred Compatibility Mode. (Special thanks to @joe B - AppsON)
* 🌱**Cloud** New QUIC.cloud API key setting.
* 🌱**ESI** New ESI nonce setting.
* 🌱**Media** JPG quality control. (@geckomist)
* 🌱**Media** Responsive local SVG placeholder.
* 🌱**Discussion** Gravatar warmup cron.
* 🌱**DB** Table Engine Converter tool. (@johnny Nguyen)
* 🌱**DB** Database summary: Autoload size. (@JohnnyNguyen)
* 🌱**DB** Database summary: Autoload entries list.
* 🌱**DB** Revisions older than. (@thememasterguru)
* 🌱**Cache** Forced public cache setting. (#308207)
* 🌱**Crawler** New timeout setting to avoid incorrect blacklist addition. (#900171)
* 🌱**Htaccess** Frontend & backend .htaccess path customize. (@jon81)
* 🌱**Toolbox** Detailed Heartbeat Control (@K9Heaven)
* 🌱**Purge** Purge Stale setting.
* 🌱**Page Optimize** Font display optimization. (@Joeee)
* 🌱**Page Optimize** Google font URL display optimization.
* 🌱**Page Optimize** Load Inline JS deferred.
* 🌱**Page Optimize** Store gravatar locally. (@zzTaLaNo1zz @JohnnyNguyen)
* 🌱**Page Optimize** DNS prefetch control setting.
* 🌱**Page Optimize** Lazy Load Image Parent Class Name Excludes. (@pako69)
* 🌱**Page Optimize** Lazy load iframe class excludes. (@vnnloser)
* 🌱**Page Optimize** Lazy load exclude URIs. (@wordpress_fan1 @aminaz)
* 🌱**GUI** New Dashboard and new menus.
* 🌱**Image Optimize** Supported GIF WebP optimization. (@Lucas Rolff)
* 🌱**Image Optimize** New workflow for image optimization (Gather first, request second).
* 🌱**Image Optimize** The return of Rescan.
* 🌱**CLI** Get single option cmd.
* 🌱**CLI** QUIC.cloud cmd supported.
* 🌱**CLI** CLI can send report now.
* 🌱**Health** Page speed and page score now are in dashboard.
* 🌱**Conf** Supported consts overwritten of `LITESPEED_CONF__` for all settings. (@menathor)
* 🌱**REST** New REST TTL setting.  (@thekendog)
* 🌱**CDN** New setting `HTML Attribute To Replace`. CDN can now support any HTML attribute to be replaced. (@danushkaj91)
* 🌱**Debug** Debug URI includes/excludes settings.
* 🌱**Crawler** 🐞 Support for multiple domains in custom sitemap. (@alchem)
* 🌱**Crawler** New Crawler dashboard. New sitemap w/ crawler status. New blacklist w/ reason.
* 🌱**Media** LQIP minimum dimensions setting. (@Lukasz Szmigiel)
* **Crawler** Able to add single rows to blacklist.
* **Crawler** Crawler data now saved into database instead of creating new files.
* **Crawler** Larger timeout to avoid wrongly added to blacklist.
* **Crawler** Manually changed the priority of mobile and WebP. (@rafaucau)
* **Browser** Larger Browser Cache TTL for Google Page Score improvement. (@max2348)
* **Task** Task refactored. Disabled cron will not show in cron list anymore.
* **Task** Speed up task load speed.
* **ESI** Added Bloom nonce to ESI for Elegant Themes.
* **Cloud** Able to redetect cloud nodes now.
* **Img_optm** Fixed stale data in redirected links.
* **Lazyload** CSS class `litespeed_lazyloaded` is now appended to HTML body after lazyload is finished. (@Adam Wilson)
* **Cache** Default drop qs values. (@gijo Varghese)
* **LQIP** Show all LQIP images in Media column.
* **CDN** Can now support custom REST API prefix other than wp-json. (#174 @therealgilles)
* **IAPI** Used REST for notify/destroy/check_img; Removed callback passive/aggreesive IAPI func
* **CSSJS** Saved all static files to litespeed folder; Uninstallation will remove static cache folder too; Reduced .htaccess rules by serving CSS/JS directly.
* **Object** Fixed override different ports issue. (@timofeycom #ISSUE178)
* **Conf** DB Tables will now only create when activating/upgrading/changing settings.
* **DB** Simplified table operation funcs.
* **CSSJS** Bypassed CSS/JS generation to return 404 if file is empty (@grubyy)
* **CSSJS** Inline JS defer will not conflict with JS inline optm anymore.
* **CDN** settings will not be overwritten by primary settings in network anymore. (@rudi Khoury)
* **OPcache** Purged all opcache when updating cache file. (@closte #170)
* **CLI** CLI cmd renamed.
* **CLI** Well-formatted table to show all options.
* **Purge** Only purge related posts that have a status of "published" to avoid unnecessary "draft" purges. (@Jakub Knytl)
* **GUI** Removed basic/adv mode for settings. Moved non-cache settings to its own menu.
* **Htaccess** Protected .htaccess.bk file. Only kept one backup. (@teflonmann)
* **Crawler** Crawler cookie now support `_null` as empty value.
* **Crawler** Avoid crawler PHP fatal error on Windows OS. (@technisolutions)
* **Admin** Simplified admin setting logic.
* **Conf** Multi values settings now uniformed to multi lines for easier setting.
* **Conf** New preset default data file `data/consts.default.ini`.
* **Conf** Config setting renamed and uniformed.
* **Conf** Dropped `Conf::option()`. Used `Conf::val()` instead.
* **Conf** Improved conf initialization and upgrade conversion workflow.
* **Core** Code base refactored. New namespace LiteSpeed.
* **API** New API: iframe lazyload exclude filter.
* **GUI** human readable seconds. (@MarkCanada)
* **API** API refactored. * NOTE: All 3rd party plugins that are using previous APIs, especially `LiteSpeed_Cache_API`, need to be adjusted to the latest one. Same for ESI blocks.* ESI shortcode doesn't change.
* **API** New hook `litespeed_update_confs` to settings update.
* **API** New Hooks `litespeed_frontend_shortcut` and `litespeed_backend_shortcut` for dropdown menu. (@callaloo)
* **API** Removed `litespeed_option_*` hooks. Use `litespeed_force_option` hook insteadly
* **API** Renamed `litespeed_force_option` to `litespeed_conf_force`.
* **API** Removed function `litespeed_purge_single_post`.
* **REST** New rest API to fetch public IP.
* **GUI** Hiding Cloudflare/Object Cache/Cloud API key credentials. (@menathor)
* **GUI** Renamed all backend link tag from lscache to litespeed.
* **GUI** fixed duplicated form tag.
* **GUI** Fix cron doc link. (@arnab Mohapatra)
* **GUI** Frontend adminbar menu added `Purge All` actions. (@Monarobase)
* **GUI** Localized vue.js to avoid CloudFlare cookie. (@politicske)
* **GUI** Always show optm column in Media Library for future single row optm operation. (@mikeyhash)
* **GUI** Displayed TTL range below the corresponding setting.
* **GUI** GUI refactored.
* **Debug** Report can now append notes.
* **3rd** Default added parallax-image to webp replacement for BB.
* **3rd** User Switching plugin compatibility. (@robert Staddon)
* **3rd** Beaver Builder plugin compatibility with v3.0.
* **3rd** Avada plugin compatibility w/ BBPress. (@pimg)
* **3rd** WooCommerce PayPal Checkout Gateway compatibility. (#960642 @Glen Cabusas)
* **Network** Fixed potential timeout issue when containing a large volume of sites. (@alican532)
* **Debug** `Disable All Features` now will see the warning banner if ON.
* **Debug** Dropped `log filters` section.
* **Debug** Debug and Tools sections combined into new `Toolbox` section.
* 🐞**Crawler** Multi sites will now use separate sitemap even when `Use Primary Site` is ON. (@mrhuynhanh)
* 🐞**Img_optm** Fixed large volume image table storage issue. (#328956)
* 🐞 **Cloud** Cloud callback hash validation fixed OC conflict. (@pbpiotr)
* 🎊 Any user that had the contribution to our WP community or changelog (even just bug report/feedback/suggestion) can apply for extra credits in QUIC.cloud.

= 2.9.9.2 - Nov 24 2019 =
* 🌱**GUI** New settings to limit News Feed to plugin page only.

= 2.9.9.1 - Nov 18 2019 =
* 🌱**Env** Environment Report can now append a passwordless link for support access without wp-admin password.
* **Admin** The latest v3.0 beta test link may now be shown on the admin page when it's available.
* **3rd** Compatibility with [DoLogin Security](https://wordpress.org/plugins/dologin/).
* 🐞**ESI** Fixed a failure issue with Vary Group save. (@rafasshop)
* 🐞**3rd** In browsers where WebP is not supported, Divi image picker will no longer serve WebP. (@Austin Tinius)

= 2.9.9 - Oct 28 2019 =
* <strong>Core</strong>: Preload all classes to avoid getting error for upcoming v3.0 upgrade.
* <strong>Object</strong>: Improved compatibility with upcoming v3.0 release.
* <strong>ESI</strong>: Unlocked ESI for OLS in case OLS is using QUIC.cloud CDN which supports ESI.
* <strong>3rd</strong>: Elementor Edit button will now show when ESI enabled. (#PR149 #335322 @maxgorky)
* 🐞<strong>Media</strong>: Fixed missing Media optimization column when Admin role is excluded from optimization in settings. (@mikeyhash @pako69 @dgilfillan)

= 2.9.8.7 - Oct 11 2019 =
* <strong>3rd</strong>: Enhanced WP stateless compatibility. (#PR143)
* <strong>3rd</strong>: Fixed a PHP warning caused by previous PR for AMP. (#PR176)

= 2.9.8.6 - Sep 24 2019 =
* <strong>3rd</strong>: Bypassed page optimizations for AMP. (#359748 #PR169)
* <strong>GUI</strong>: Firefox compatibility with radio button state when reloading pages. (#288940 #PR162)
* <strong>GUI</strong>: Updated Slack invitation link. (#PR173)

= 2.9.8.5 - Aug 21 2019 =
* <strong>CCSS</strong>: Removed potential PHP notice when getting post_type. (@amcgiffert)
* <strong>CDN</strong>: Bypassed CDN replacement on admin page when adding media to page/post. (@martin_bailey)
* 🐞<strong>Media</strong>: Fixed inability to update or destroy postmeta data for child images. (#167713)

= 2.9.8.4 - Jul 25 2019 =
* <strong>Object</strong>: Increased compatibility with phpredis 5.0.
* <strong>Object</strong>: Appended `wc_session_id` to default Do Not Cache Groups setting to avoid issue where WooCommerce cart items were missing when Object Cache is used. NOTE: Existing users must add `wc_session_id` manually! (#895333)
* <strong>CSS</strong>: Added null onload handler for CSS async loading. (@joejordanbrown)
* 🕷️: Increased crawler timeout to avoid wrongly adding a URL to the blacklist.
* <strong>3rd</strong>: WooCommerce Advanced Bulk Edit can now purge cache automatically.

= 2.9.8.3 - Jul 9 2019 =
* <strong>CSS</strong>: Enhanced the CSS Minify compatibility for CSS with missing closing bracket syntax errors. (@fa508210020)
* 🕷️: Crawler now supports both cookie and no-cookie cases. (@tabare)
* <strong>CCSS</strong>: Enhanced compatibility with requested pages where meta info size exceeds 8k. (@Joe B)
* <strong>CCSS</strong>: No longer processing "font" or "import" directives as they are not considered critical. (@Ankit @Joe B)
* <strong>IAPI</strong>: Removed IPv6 from all servers to avoid invalid firewall whitelist.

= 2.9.8.2 - Jun 17 2019 =
* 🔥🐞 <strong>3rd</strong>: Fixed PHP 5.3 compatibility issue with Facetwp.

= 2.9.8.1 - Jun 17 2019 =
* <strong>3rd</strong>: Set ESI template hook priority to highest number to prevent ESI conflict with Enfold theme. (#289354)
* <strong>3rd</strong>: Improved Facetwp reset button compatibility with ESI. (@emilyel)
* <strong>3rd</strong>: Enabled user role change to fix duplicate login issue for plugins that use alternative login processes. (#114165 #717223 @sergiom87)
* <strong>GUI</strong>: Wrapped static text with translate function. (@halilemreozen)

= 2.9.8 - May 22 2019 =
* <strong>Core</strong>: Refactored loading priority so user related functions & optimization features are set after user initialization. (#717223 #114165 #413338)
* <strong>Media</strong>: Improved backup file calculation query to prevent out-of-memory issue.
* <strong>Conf</strong>: Feed cache now defaults to ON.
* <strong>API</strong>: Fully remote attachment compatibility API of image optimization now supported.
* 🕷️: Bypassed vary change for crawler; crawler can now simulate default vary cookie.
* <strong>ESI</strong>: Refactored ESI widget. Removed `widget_load_get_options()` function.
* <strong>ESI</strong>: Changed the input name of widget fields in form.
* <strong>3rd</strong>: Elementor can now save ESI widget settings in frontend builder.
* <strong>3rd</strong>: WP-Stateless compatibility.
* <strong>IAPI</strong>: Image optimization can now successfully finish the destroy process with large volume images with automatic continual mode.
* 🐞<strong>CDN</strong>: Fixed issue with Load JQuery Remotely setting where WP 5.2.1 provided an unexpected jQuery version.
* 🐞<strong>3rd</strong>: Login process now gets the correct role; fixed double login issue.

= 2.9.7.2 - May 2 2019 =
* <strong>Conf</strong>: Enhanced compatibility when an option is not properly initialized.
* <strong>Conf</strong>: Prevent non-array instance in widget from causing 500 error. (#210407)
* <strong>CCSS</strong>: Increase CCSS generation timeout to 60s.
* <strong>Media</strong>: Renamed lazyload CSS class to avoid conflicts with other plugins. (@DynamoProd)
* <strong>JS</strong>: Improved W3 validator. (@istanbulantik)
* <strong>QUIC</strong>: Synced cache tag prefix for static files cache.
* <strong>ESI</strong>: Restored query strings to ESI admin bar for accurate rendering. (#977284)
* <strong>ESI</strong>: Tweaked ESI init priority to honor LITESPEED_DISABLE_ALL const. ESI will now init after plugin loaded.
* 🐞<strong>ESI</strong>: No longer initialize ESI if ESI option is OFF.
* <strong>API</strong>: New "Disable All" API function.
* <strong>API</strong>: New "Force public cache" API function.
* 🐞<strong>Vary</strong>: Fixed an issue with saving vary groups.
* 🐞<strong>IAPI</strong>: Fixed an issue where image md5 validation failed due to whitespace in the image path.
* 🐞<strong>3rd</strong>: Bypass all optimization/ESI/Cache features when entering Divi Theme Builder frontend editor.
* 🐞<strong>3rd</strong>: Fixed an issue where DIVI admin bar exit button didn't work when ESI was ON.

= 2.9.7.1 - Apr 9 2019 =
* <strong>Purge</script>: Purge All no longer includes Purge CCSS/Placeholder.
* <strong>3rd</strong>: Divi Theme Builder no longer experiences nonce expiration issues in the contact form widget. (#475461)

= 2.9.7 - Apr 1 2019 =
* 🌱🌱🌱 QUIC.cloud CDN feature. Now Apache/Nginx can use LiteSpeed cache freely.

= 2.9.6 - Mar 27 2019 =
* 🌱<strong>IAPI</strong>: Appended XMP to `Preserve EXIF data` setting. WebP will now honor this setting. (#902219)
* <strong>Object</script>: Fixed SASL connection with LSMCD.
* <strong>ESI</strong>: Converted ESI URI parameters to JSON; Added ESI validation.
* <strong>Import</strong>: Import/Export will now use JSON format. <strong>Please re-export any backed up settings. Previous backup format is no longer recognized.</strong>
* <strong>Media</strong>: WebP replacement will honor `Role Excludes` setting now. (@mfazio26)
* <strong>Data</strong>: Forbid direct visit to const.default.ini.
* <strong>Utility</strong>: Can handle WHM passed in `LITESPEED_ERR` constant now.
* <strong>IAPI</strong>: Communicate via JSON encoding.
* <strong>IAPI</strong>: IAPI v2.9.6.

= 2.9.5 - Mar 14 2019 =
* 🌱 Auto convert default WordPress nonce to ESI to avoid expiration.
* 🌱 <strong>API</strong>: Ability to easily convert custom nonce to ESI by registering `LiteSpeed_Cache_API::nonce_action`.
* <strong>OPTM</strong>: Tweaked redundant attr `data-no-optimize` in func `_analyse_links` to `data-ignore-optimize` to offer the API to bypass optimization but still move src to top of source code.
* <strong>API</strong>: Renamed default nonce ESI ID from `lscwp_nonce_esi` to `nonce`.
* <strong>API</strong>: Added WebP generation & validation hook API. (@alim #wp-stateless)
* <strong>API</strong>: Added hook to bypass vary commenter check. (#wpdiscuz)
* <strong>Doc</strong>: Clarified Cache Mobile description. (@JohnnyNguyen)
* <strong>Doc</strong>: Replaced incorrect link in description. (@JohnnyNguyen)
* <strong>3rd</strong>: Improved wpDiscuz compatibility.
* 🐞<strong>3rd</strong>: Fixed Divi Theme Builder comment compatibility on non-builder pages. (#410919)
* <strong>3rd</strong>: Added YITH ESI adjustment.

= 2.9.4.1 - Feb 28 2019 =
* 🔥🐞<strong>Tag</strong>: Fixed issue where unnecessary warning potentially displayed after upgrade process when object cache is enabled.

= 2.9.4 - Feb 27 2019 =
* 🐞<strong>REST</strong>: New REST class with better WP5 Gutenberg and internal REST call support when ESI is embedded.
* <strong>ESI</strong>: ESI block ID is now in plain text in ESI URL parameters.
* 🐞<strong>ESI</strong>: Fixed a redundant ESI 301 redirect when comma is in ESI URL.
* <strong>ESI</strong>: REST call can now parse shortcodes in ESI.
* <strong>API</strong>: Changed ESI `parse_esi_param()` function to private and `load_esi_block` function to non-static.
* <strong>API</strong>: Added `litespeed_is_json` hook for buffer JSON conversion.
* <strong>GUI</strong>: Prepended plugin name to new version notification banner.
* <strong>3rd</strong>: WPML multi domains can now be handled in optimization without CDN tricks.

= 2.9.3 - Feb 20 2019 =
* <strong>ESI</strong>: ESI shortcodes can now be saved in Gutenberg editor.
* <strong>ESI</strong>: ESI now honors the parent page JSON data type to avoid breaking REST calls (LSWS 5.3.6+).
* <strong>ESI</strong>: Added is_json parameter support for admin_bar.
* <strong>ESI</strong>: Simplified comment form code.
* <strong>3rd</strong>: Better page builder plugin compatibility within AJAX calls.
* <strong>3rd</strong>: Compatibility with FacetWP (LSWS 5.3.6+).
* <strong>3rd</strong>: Compatibility with Beaver Builder.
* <strong>Debug</strong>: Added ESI buffer content to log.
* <strong>Tag</strong>: Only append blog ID to cache tags when site is part of a network.
* <strong>IAPI</strong>: Optimized database query for pulling images.
* <strong>GUI</strong>: Added more plugin version checking for better feature compatibility.
* <strong>GUI</strong>: Ability to bypass non-critical banners with the file .litespeed_no_banner.
* <strong>Media</strong>: Background image WebP replacement now supports quotes around src.

= 2.9.2 - Feb 5 2019 =
* <strong>API</strong>: Add a hook `litespeed_esi_shortcode-*` for ESI shortcodes.
* <strong>3rd</strong>: WooCommerce can purge products now when variation stock is changed.
* 🐞🕷️: Forced HTTP1.1 for crawler due to a CURL HTTP2 bug.

= 2.9.1 - Jan 25 2019 =
* <strong>Compatibility</strong>: Fixed fatal error for PHP 5.3.
* <strong>Compatibility</strong>: Fixed PHP warning in htmlspecialchars when building URLs. (@souljahn2)
* <strong>Media</strong>: Excluded invalid image src from lazyload. (@andrew55)
* <strong>Optm</strong>: Improved URL compatibility when detecting closest cloud server.
* <strong>ESI</strong>: Supported JSON format comment format in ESI with `is_json` parameter.
* <strong>API</strong>: Added filters to CCSS/CSS/JS content. (@lhoucine)
* <strong>3rd</strong>: Improved comment compatibility with Elegant Divi Builder.
* <strong>IAPI</strong>: New Europe Image Optimization server (EU5). <strong>Please whitelist the new [IAPI IP List](https://wp.api.litespeedtech.com/ips).</strong>
* <strong>GUI</strong>: No longer show banners when `Disable All` in `Debug` is ON. (@rabbitwordpress)
* <strong>GUI</strong>: Fixed button style for RTL languages.
* <strong>GUI</strong>: Removed unnecessary translation in report.
* <strong>GUI</strong>: Updated readme wiki links.
* <strong>GUI</strong>: Fixed pie styles in image optimization page.

= 2.9 - Dec 31 2018 =
* 🌱<strong>Media</strong>: Lazy Load Image Classname Excludes. (@thinkmedia)
* 🌱: New EU/AS cloud servers for faster image optimization handling.
* 🌱: New EU/AS cloud servers for faster CCSS generation.
* 🌱: New EU/AS cloud servers for faster responsive placeholder generation.
* 🌱<strong>Conf</strong>: Ability to set single options via link.
* 🌱<strong>Cache</strong>: Ability to add custom TTLs to Force Cache URIs.
* <strong>Purge</strong>: Added post type to Purge tags.
* <strong>Purge</strong>: Redefined CCSS page types.
* <strong>Core</strong>: Using Exception for .htaccess R/W.
* <strong>IAPI</strong>: <strong>New cloud servers added. Please whitelist the new [IAPI IP List](https://wp.api.litespeedtech.com/ips).</strong>
* <strong>Optm</strong>: Trim BOM when detecting if the page is HTML.
* <strong>GUI</strong>: Added PageSpeed Score comparison into promotion banner.
* <strong>GUI</strong>: Refactored promotion banner logic.
* <strong>GUI</strong>: Removed page optimized comment when ESI Silence is requested.
* <strong>GUI</strong>: WHM transient changed to option instead of transient when storing.
* <strong>GUI</strong>: Appending more descriptions to CDN filetype setting.
* <strong>IAPI</strong>: Removed duplicate messages.
* <strong>IAPI</strong>: Removed taken_failed/client_pull(duplicated) status.
* <strong>Debug</strong>: Environment report no longer generates hash for validation.
* <strong>3rd</strong>: Non-cacheable pages no longer punch ESI holes for Divi compatibility.
* 🐞<strong>Network</strong>: Added slashes for mobile rules when activating plugin.
* 🐞<strong>CCSS</strong>: Eliminated a PHP notice when appending CCSS.

= 2.8.1 - Dec 5 2018 =
* 🐞🕷️: Fixed an activation warning related to cookie crawler. (@kacper3355 @rastel72)
* 🐞<strong>Media</strong>: Replace safely by checking if pulled images is empty or not first. (@Monarobase)
* <strong>3rd</strong>: Shortcode ESI compatibility with Elementor.

= 2.8 - Nov 30 2018 =
* 🌱: ESI shortcodes.
* 🌱: Mobile crawler.
* 🌱: Cookie crawler.
* <strong>API</strong>: Can now add `_litespeed_rm_qs=0` to bypass Remove Query Strings.
* <strong>Optm</strong>: Removed error log when minify JS failed.
* 🐞<strong>Core</strong>: Fixed a bug that caused network activation PHP warning.
* <strong>Media</strong>: Removed canvas checking for WebP to support TOR. (@odeskumair)
* <strong>Media</strong>: Eliminated potential image placeholder PHP warning.
* <strong>3rd</strong>: Bypassed Google recaptcha from Remove Query Strings for better compatibility.
* <strong>IAPI</strong>: Showed destroy timeout details.
* <strong>Debug</strong>: Moved Google Fonts log to advanced level.
* <strong>GUI</strong>: Replaced all Learn More links for functions.
* <strong>GUI</strong>: Cosmetic updates including Emoji.
* 🕷️: Removed duplicated data in sitemap and blacklist.

= 2.7.3 - Nov 26 2018 =
* <strong>Optm</strong>: Improved page render speed with Web Font Loader JS library for Load Google Fonts Asynchronously.
* <strong>Optm</strong>: Directly used JS library files in plugin folder instead of short links `/min/`.
* <strong>Optm</strong>: Handled exceptions in JS optimization when meeting badly formatted JS.
* <strong>3rd</strong>: Added Adobe Lightroom support for NextGen Gallery.
* <strong>3rd</strong>: Improved Postman app support for POST JSON requests.
* <strong>IAPI</strong>: <strong>US3 server IP changed to 68.183.60.185</strong>.

= 2.7.2 - Nov 19 2018 =
* 🌱: Auto Upgrade feature.
* <strong>CDN</strong>: Bypass CDN for cron to avoid WP jQuery deregister warning.

= 2.7.1 - Nov 15 2018 =
* 🌱<strong>CLI</strong>: Ability to set CDN mapping by `set_option litespeed-cache-cdn_mapping[url][0] https://url`.
* 🌱<strong>CDN</strong>: Ability to customize default CDN mapping data in default.ini.
* 🌱<strong>API</strong>: Default.ini now supports both text-area items and on/off options.
* <strong>Vary</strong>: Refactored Vary and related API.
* <strong>Vary</strong>: New hook to manipulate vary cookies value.
* <strong>Core</strong>: Activation now can generate Object Cache file.
* <strong>Core</strong>: Unified Object Cache/rewrite rules generation process across activation/import/reset/CLI.
* <strong>Core</strong>: Always hook activation to make activation available through the front end.
* 🐞<strong>IAPI</strong>: Fixed a bug where environment report gave incorrect image optimization data.
* 🐞<strong>OLS</strong>: Fixed a bug where login cookie kept showing a warning on OpenLiteSpeed.
* 🐞<strong>Core</strong>: Fixed a bug where Import/Activation/CLI was missing CDN mapping settings.
* <strong>API</strong>: <strong>Filters `litespeed_cache_media_lazy_img_excludes/litespeed_optm_js_defer_exc` passed-in parameter is changed from string to array.</strong>

= 2.7 - Nov 2 2018 =
* 🌱: Separate Purge log for better debugging.
* <strong>3rd</strong>: Now fully compatible with WPML.
* <strong>IAPI</strong>: Sped up Image Optimization workflow.
* <strong>GUI</strong>: Current IP now shows in Debug settings.
* <strong>GUI</strong>: Space separated placeholder queue list for better look.
* <strong>IAPI</strong>: <strong>EU3 server IP changed to 165.227.131.98</strong>.

= 2.6.4.1 - Oct 25 2018 =
* 🔥🐞<strong>Media</strong>: Fixed a bug where the wrong table was used in the Image Optimization process.
* <strong>IAPI</strong>: IAPI v2.6.4.1.

= 2.6.4 - Oct 24 2018 =
* 🌱: Ability to create custom default config options per hosting company.
* 🌱: Ability to generate mobile Critical CSS.
* 🐞<strong>Media</strong>: Fixed a bug where Network sites could incorrectly override optimized images.
* 🐞<strong>CDN</strong>: Fixed a bug where image URLs containing backslashes were matched.
* <strong>Cache</strong>: Added default Mobile UA config setting.
* <strong>GUI</strong>: Fixed unknown shortcut characters for non-English languages Setting tabs.

= 2.6.3 - Oct 18 2018 =
* 🌱: Ability to Reset All Options.
* 🌱<strong>CLI</strong>: Added new `lscache-admin reset_options` command.
* <strong>GUI</strong>: Added shortcuts for more of the Settings tabs.
* <strong>Media</strong>: Updated Lazy Load JS library to the most recent version.
* There is no longer any need to explicitly Save Settings upon Import.
* Remove Query String now will remove *all* query strings in JS/CSS static files.
* <strong>IAPI</strong>: Added summary info to debug log.

= 2.6.2 - Oct 11 2018 =
* <strong>Setting</strong>: Automatically correct invalid numeric values in configuration settings upon submit.
* 🐞<strong>Media</strong>: Fixed the issue where iframe lazy load was broken by latest Chrome release. (@ofmarconi)
* 🐞: Fixed an issue with Multisite where subsites failed to purge when only primary site has WooCommerce . (@kierancalv)

= 2.6.1 - Oct 4 2018 =
* 🌱: Ability to generate separate Critical CSS Cache for Post Types & URIs.
* <strong>API</strong>: Filter `litespeed_frontend_htaccess` for frontend htaccess path.
* <strong>Media</strong>: Removed responsive placeholder generation history to save space.

= 2.6.0.1 - Sep 24 2018 =
* 🔥🐞: Fixed an issue in responsive placeholder generation where redundant history data was being saved and using a lot of space.

= 2.6 - Sep 22 2018 =
* <strong>Vary</strong>: Moved `litespeed_cache_api_vary` hook outside of OLS condition for .htaccess generation.
* <strong>CDN</strong>: Trim spaces in original URL of CDN setting.
* <strong>API</strong>: New filter `litespeed_option_` to change all options dynamically.
* <strong>API</strong>: New `LiteSpeed_Cache_API::force_option()` to change all options dynamically.
* <strong>API</strong>: New `LiteSpeed_Cache_API::vary()` to set default vary directly for easier compaitiblity with WPML WooCommerce Multilingual.
* <strong>API</strong>: New `LiteSpeed_Cache_API::nonce()` to safely and easily allow caching of wp-nonce.
* <strong>API</strong>: New `LiteSpeed_Cache_API::hook_vary_add()` to add new vary.
* <strong>Optm</strong>: Changed HTML/JS/CSS optimization options assignment position from constructor to `finalize()`.
* <strong>Doc</strong>: Added nonce to FAQ and mentioned nonce in 3rd Party Compatibility section.
* <strong>GUI</strong>: Moved inline minify to under html minify due to the dependency.
* <strong>3rd</strong>: Cached Aelia CurrencySwitcher by default.
* 🐞: Fixed issue where enabling remote JQuery caused missing jquery-migrate library error.

= 2.5.1 - Sep 11 2018 =
* 🌱 Responsive placeholder. (@szmigieldesign)
* Changed CSS::ccss_realpath function scope to private.
* 🐞 Detected JS filetype before optimizing to avoid PHP source conflict. (@closte #50)

= 2.5 - Sep 6 2018 =
* [IMPROVEMENT] <strong>CLI</strong> can now execute Remove Original Image Backups. (@Shon)
* [UPDATE] Fixed issue where WP-PostViews documentation contained extra slashes. (#545638)
* [UPDATE] Check LITESPEED_SERVER_TYPE for more accurate LSCache Disabled messaging.
* [IAPI] Fixed a bug where optimize/fetch error notification was not being received. (@LucasRolff)

= 2.4.4 - Aug 31 2018 =
* [NEW] <strong>CLI</strong> can now support image optimization. (@Shon)
* [IMPROVEMENT] <strong>GUI</strong> Cron/CLI will not create admin message anymore.
* [UPDATE] <strong>Media</strong> Fixed a PHP notice that appeared when pulling optimized images.
* [UPDATE] Fixed a PHP notice when detecting origin of ajax call. (@iosoft)
* [DEBUG] Debug log can now log referer URL.
* [DEBUG] Changes to options will now be logged.

= 2.4.3 - Aug 27 2018 =
* [NEW] <strong>Media</strong> Ability to inline image lazyload JS library. (@Music47ell)
* [IMPROVEMENT] <strong>Media</strong> Deleting images will now clear related optimization file & info too.
* [IMPROVEMENT] <strong>Media</strong> Non-image postfix data will now be bypassed before sending image optimization request.
* [BUGFIX] <strong>CDN</strong> CDN URL will no longer be replaced during admin ajax call. (@pankaj)
* [BUGFIX] <strong>CLI</strong> WPCLI can now save options without incorrectly clearing textarea items. (@Shon)
* [GUI] Moved Settings above Manage on the main menu.

= 2.4.2 - Aug 21 2018 =
* [IMPROVEMENT] <strong>Media</strong> Sped up Image Optimization process by replacing IAPI server pull communication.
* [IMPROVEMENT] <strong>Media</strong> Ability to delete optimized WebP/original image by item in Media Library. (@redgoodapple)
* [IMPROVEMENT] <strong>CSS Optimize</strong> Generate new optimized CSS name based on purge timestamp. Allows CSS cache to be cleared for visitors. (@bradbrownmagic)
* [IMPROVEMENT] <strong>API</strong> added litespeed_img_optm_options_per_image. (@gintsg)
* [UPDATE] Stopped showing "No Image Found" message when all images have finished optimization. (@knutsp)
* [UPDATE] Improved a PHP warning when saving settings. (@sergialarconrecio)
* [UPDATE] Changed backend adminbar icon default behavior from Purge All to Purge LSCache.
* [UPDATE] Clearing CCSS cache will clear unfinished queue too.
* [UPDATE] Added "$" exact match when adding URL by frontend adminbar dropdown menu, to avoid affecting any sub-URLs.
* [UPDATE] Fixed IAPI error message showing array bug. (@thiomas)
* [UPDATE] Debug Disable All will do a Purge All.
* [UPDATE] <strong>Critical CSS server IP changed to 142.93.3.57</strong>.
* [GUI] Showed plugin update link for IAPI version message.
* [GUI] Bypassed null IAPI response message.
* [GUI] Grouped related settings with indent.
* [IAPI] Added 503 handler for IAPI response.
* [IAPI] IAPI v2.4.2.
* [IAPI] <strong>Center Server IP Changed from 34.198.229.186 to 142.93.112.87</strong>.

= 2.4.1 - Jul 19 2018 =
* [NEW FEATURE] <strong>Media</strong> Auto Level Up. Auto refill credit.
* [NEW FEATURE] <strong>Media</strong> Auto delete original backups after pulled. (@borisov87 @JMCA2)
* [NEW FEATURE] <strong>Media</strong> Auto request image optimization. (@ericsondr)
* [IMPROVEMENT] <strong>Media</strong> Fetch 404 error will notify client as other errors.
* [IMPROVEMENT] <strong>Media</strong> Support WebP for PageSpeed Insights. (@LucasRolff)
* [BUGFIX] <strong>CLI</strong> Fixed the issue where CLI import/export caused certain textarea settings to be lost. (#767519)
* [BUGFIX] <strong>CSS Optimize</strong> Fixed the issue that duplicated optimized CSS and caused rapid expansion of CSS cache folder.
* [GUI] <strong>Media</strong> Refactored operation workflow and interface.
* [UPDATE] <strong>Media</strong> Set timeout seconds to avoid pulling timeout. (@Jose)
* [UPDATE] <strong>CDN</strong>Fixed the notice when no path is in URL. (@sabitkamera)
* [UPDATE] <strong>Media</strong> Auto correct credits when pulling.
* [UPDATE] <strong>GUI</strong> Removed redundant double quote in gui.cls. (@DaveyJake)
* [IAPI] IAPI v2.4.1.
* [IAPI] Allow new error status notification and success message from IAPI.

= 2.4 - Jul 2 2018 =
* [NEW FEATURE] <strong>Media</strong> Added lossless optimization.
* [NEW FEATURE] <strong>Media</strong> Added Request Original Images ON/OFF.
* [NEW FEATURE] <strong>Media</strong> Added Request WebP ON/OFF. (@JMCA2)
* [IMPROVEMENT] <strong>Media</strong> Improved optimization tools to archive maximum compression and score.
* [IMPROVEMENT] <strong>Media</strong> Improved speed of image pull.
* [IMPROVEMENT] <strong>Media</strong> Automatically recover credit after pulled.
* [REFACTOR] <strong>Config</strong> Separated configure const class.
* [BUGFIX] <strong>Report</strong> Report can be sent successfully with emoji now. (@music47ell)
* [IAPI] New Europe Image Optimization server (EU3/EU4).
* [IAPI] New America Image Optimization server (US3/US4/US5/US6).
* [IAPI] New Asian Image Optimization server (AS3).
* [IAPI] Refactored optimization process.
* [IAPI] Increased credit limit.
* [IAPI] Removed request interval limit.
* [IAPI] IAPI v2.4.
* <strong>We strongly recommended that you re-optimize your image library to get a better compression result</strong>.

= 2.3.1 - Jun 18 2018 =
* [IMPROVEMENT] New setting to disable Generate Critical CSS. (@cybmeta)
* [IMPROVEMENT] Added filter to can_cdn/can_optm check. (@Jacob)
* [UPDATE] *Critical CSS* Added 404 css. Limit cron interval.
* [UPDATE] AJAX will not bypass CDN anymore by default. (@Jacob)
* [GUI] Show Disable All Features warning if it is on in Debug tab.

= 2.3 - Jun 13 2018 =
* [NEW FEATURE] Automatically generate critical CSS. (@joeee @ivan_ivanov @3dseo)
* [BUGFIX] "Mark this page as..." from dropdown menu will not reset settings anymore. (@cbratschi)

= 2.2.7 - Jun 4 2018 =
* [IMPROVEMENT] Improved redirection for manual image pull to avoid too many redirections warning.
* [IAPI] Increased credit limit.
* [BUGFIX] Fixed 503 error when enabling log filters in Debug tab. (#525206)
* [UPDATE] Improve compatibility when using sitemap url on servers with allow_url_open off.
* [UPDATE] Removed Crawler HTTP2 option due to causing no-cache blacklist issue for certain environments.
* [UPDATE] Privacy policy can be now translated. (@Josemi)
* [UPDATE] IAPI Increased default img request max to 3000.

= 2.2.6 - May 24 2018 =
* [NEW FEATURE] Original image backups can be removed now. (@borisov87 @JMCA2)
* [BUGFIX] Role Excludes in Tuning tab can save now. (@pako69)
* [UPDATE] Added privacy policy support.

= 2.2.5 - May 14 2018 =
* [IAPI] <strong>Image Optimization</strong> New Asian Image Optimization server (AS2).
* [INTEGRATION] Removed wpForo 3rd party file. (@massimod)

= 2.2.4 - May 7 2018 =
* [IMPROVEMENT] Improved compatibility with themes using the same js_min library. (#129093 @Darren)
* [BUGFIX] Fixed a bug when checking image path for dynamic files. (@miladk)
* [INTEGRATION] Compatibility with Universal Star Rating. (@miladk)

= 2.2.3 - Apr 27 2018 =
* [NEW FEATURE] WebP For Extra srcset setting in Media tab. (@vengen)
* [REFACTOR] Removed redundant LS consts.
* [REFACTOR] Refactored adv_cache generation flow.
* [BUGFIX] Fixed issue where inline JS minify exception caused a blank page. (@oomskaap @kenb1978)
* [UPDATE] Changed HTTP/2 Crawl default value to OFF.
* [UPDATE] Added img.data-src to default WebP replacement value for WooCommerce WebP support.
* [UPDATE] Detached crawler from LSCache LITESPEED_ON status.
* [API] Improved ESI API to honor the cache control in ESI wrapper.
* [API] Added LITESPEED_PURGE_SILENT const to bypass the notification when purging
* [INTEGRATION] Fixed issue with nonce expiration when using ESI API. (#923505 @Dan)
* [INTEGRATION] Improved compatibility with Ninja Forms by bypassing non-javascript JS from inline JS minify.
* [INTEGRATION] Added a hook for plugins that change the CSS/JS path e.g. Hide My WordPress.

= 2.2.2 - Apr 16 2018 =
* [NEW FEATURE] WebP Attribute To Replace setting in Media tab. (@vengen)
* [IMPROVEMENT] Generate adv_cache file automatically when it is lost.
* [IMPROVEMENT] Improved compatibility with ajax login. (@veganostomy)
* [UPDATE] Added object cache lib check in case user downgrades LSCWP to non-object-cache versions.
* [UPDATE] Avoided infinite loop when users enter invalid hook values in Purge All Hooks settings.
* [UPDATE] Updated log format in media&cdn class.
* [UPDATE] Added more items to Report.

= 2.2.1 - Apr 10 2018 =
* [NEW FEATURE] Included Directories setting in CDN tab. (@Dave)
* [NEW FEATURE] Purge All Hooks setting in Advanced tab.
* [UPDATE] Added background-image WebP replacement support. (@vengen)
* [UPDATE] Show recommended values for textarea items in settings.
* [UPDATE] Moved CSS/JS optimizer log to Advanced level.
* [INTEGRATION] Added WebP support for Avada Fusion Sliders. (@vengen)

= 2.2.0.2 - Apr 3 2018 =
* [HOTFIX] <strong>Object Cache</strong> Fixed the PHP warning caused by previous improvement to Object Cache.

= 2.2.0.1 - Apr 3 2018 =
* [HOTFIX] Object parameter will no longer cause warnings to be logged for Purge and Cache classes. (@kelltech @khrifat)
* [UPDATE] Removed duplicated del_file func from Object Cache class.
* [BUGFIX] `CLI` no longer shows 400 error upon successful result.

= 2.2 - Apr 2 2018 =
* [NEW FEATURE] <strong>Debug</strong> Disable All Features setting in Debug tab. (@monarobase)
* [NEW FEATURE] <strong>Cache</strong> Force Cacheable URIs setting in Excludes tab.
* [NEW FEATURE] <strong>Purge</strong> Purge all LSCache and other caches in one link.
* [REFACTOR] <strong>Purge</strong> Refactored Purge class.
* [BUGFIX] Query strings in DoNotCacheURI setting now works.
* [BUGFIX] <strong>Cache</strong> Mobile cache compatibility with WebP vary. (@Shivam #987121)
* [UPDATE] <strong>Purge</strong> Moved purge_all to Purge class from core class.
* [API] Set cacheable/Set force cacheable. (@Jacob)

= 2.1.2 - Mar 28 2018 =
* [NEW FEATURE] <strong>Image Optimization</strong> Clean Up Unfinished Data feature.
* [IAPI] IAPI v2.1.2.
* [IMPROVEMENT] <strong>CSS/JS Minify</strong> Reduced loading time significantly by improving CSS/JS minify loading process. (@kokers)
* [IMPROVEMENT] <strong>CSS/JS Minify</strong> Cache empty JS Minify content. (@kokers)
* [IMPROVEMENT] <strong>Cache</strong> Cache 301 redirect when scheme/host are same.
* [BUGFIX] <strong>Media</strong> Lazy load now can support WebP. (@relle)
* [UPDATE] <strong>CSS/JS Optimize</strong> Serve static files for CSS async & lazy load JS library.
* [UPDATE] <strong>Report</strong> Appended Basic/Advanced View setting to Report.
* [UPDATE] <strong>CSS/JS Minify</strong> Removed zero-width space from CSS/JS content.
* [GUI] Added Purge CSS/JS Cache link in Admin.

= 2.1.1.1 - Mar 21 2018 =
* [BUGFIX] Fixed issue where activation failed to add rules to .htaccess.
* [BUGFIX] Fixed issue where 304 header was blank on feed page refresh.

= 2.1.1 - Mar 20 2018 =
* [NEW FEATURE] <strong>Browser Cache</strong> Unlocked for non-LiteSpeed users.
* [IMPROVEMENT] <strong>Image Optimization</strong> Fixed issue where images with bad postmeta value continued to show in not-yet-requested queue.

= 2.1 - Mar 15 2018 =
* [NEW FEATURE] <strong>Image Optimization</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>Object Cache</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>Crawler</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>Database Cleaner and Optimizer</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>Lazy Load Images</strong> Unlocked for non-LiteSpeed users.
* [NEW FEATURE] <strong>CSS/JS/HTML Minify/Combine Optimize</strong> Unlocked for non-LiteSpeed users.
* [IAPI] IAPI v2.0.
* [IAPI] Increased max rows prefetch when client has additional credit.
* [IMPROVEMENT] <strong>CDN</strong> Multiple domains may now be used.
* [IMPROVEMENT] <strong>Report</strong> Added WP environment constants for better debugging.
* [REFACTOR] Separated Cloudflare CDN class.
* [BUGFIX] <strong>Image Optimization</strong> Fixed issue where certain MySQL version failed to create img_optm table. (@philippwidmer)
* [BUGFIX] <strong>Image Optimization</strong> Fixed issue where callback validation failed when pulling and sending request simultaneously.
* [GUI] Added Slack community banner.
* [INTEGRATION] CDN compatibility with WPML multiple domains. (@egemensarica)

= 2.0 - Mar 7 2018 =
* [NEW FEATURE] <strong>Image Optimization</strong> Added level up guidance.
* [REFACTOR] <strong>Image Optimization</strong> Refactored Image Optimization class.
* [IAPI] <strong>Image Optimization</strong> New European Image Optimization server (EU2).
* [IMPROVEMENT] <strong>Image Optimization</strong> Manual pull action continues pulling until complete.
* [IMPROVEMENT] <strong>CDN</strong> Multiple CDNs can now be randomized for a single resource.
* [IMPROVEMENT] <strong>Image Optimization</strong> Improved compatibility of long src images.
* [IMPROVEMENT] <strong>Image Optimization</strong> Reduced runtime load.
* [IMPROVEMENT] <strong>Image Optimization</strong> Avoid potential loss/reset of notified images status when pulling.
* [IMPROVEMENT] <strong>Image Optimization</strong> Avoid duplicated optimization for multiple records in Media that have the same image source.
* [IMPROVEMENT] <strong>Image Optimization</strong> Fixed issue where phantom images continued to show in not-yet-requested queue.
* [BUGFIX] <strong>Core</strong> Improved compatibility when upgrading outside of WP Admin. (@jikatal @TylorB)
* [BUGFIX] <strong>Crawler</strong> Improved HTTP/2 compatibility to avoid erroneous blacklisting.
* [BUGFIX] <strong>Crawler</strong> Changing Delay setting will use server variable for min value validation if set.
* [UPDATE] <strong>Crawler</strong> Added HTTP/2 protocol switch in the Crawler settings.
* [UPDATE] Removed unnecessary translation strings.
* [GUI] Display translated role group name string instead of English values. (@Richard Hordern)
* [GUI] Added Join LiteSpeed Slack link.
* [GUI] <strong>Import / Export</strong> Cosmetic changes to Import Settings file field.
* [INTEGRATION] Improved compatibility with WPML Media for Image Optimization. (@szmigieldesign)

= 1.9.1.1 - February 20 2018 =
* [Hotfix] Removed empty crawler when no role simulation is set.

= 1.9.1 - February 20 2018 =
* [NEW FEATURE] Role Simulation crawler.
* [NEW FEATURE] WebP multiple crawler.
* [NEW FEATURE] HTTP/2 support for crawler.
* [BUGFIX] Fixed a js bug with the auto complete mobile user agents field when cache mobile is turned on.
* [BUGFIX] Fixed a constant undefined warning after activation.
* [GUI] Sitemap generation settings are no longer hidden when using a custom sitemap.

= 1.9 - February 12 2018 =
* [NEW FEATURE] Inline CSS/JS Minify.
* [IMPROVEMENT] Removed Composer vendor to thin the plugin folder.
* [UPDATE] Tweaked H2 to H1 in Admin headings for accessibility. (@steverep)
* [GUI] Added Mobile User Agents to basic view.
* [GUI] Moved Object Cache & Browser Cache from Cache tab to Advanced tab.
* [GUI] Moved LSCache Purge All from Adminbar to dropdown menu.

= 1.8.3 - February 2 2018 =
* [NEW FEATURE] Crawler server variable limitation support.
* [IMPROVEMENT] Added Store Transients option to fix transients missing issue when Cache Wp-Admin setting is OFF.
* [IMPROVEMENT] Tweaked ARIA support. (@steverep)
* [IMPROVEMENT] Used strpos instead of strncmp for performance. (@Zach E)
* [BUGFIX] Transient cache can now be removed when the Cache Wp-Admin setting is ON in Object Cache.
* [BUGFIX] Network sites can now save Advanced settings.
* [BUGFIX] Media list now shows in network sites.
* [BUGFIX] Show Crawler Status button is working again.
* [UPDATE] Fixed a couple of potential PHP notices in the Network cache tab and when no vary group is set.
* [GUI] Added Learn More link to all setting pages.

= 1.8.2 - January 29 2018 =
* [NEW FEATURE] Instant Click in the Advanced tab.
* [NEW FEATURE] Import/Export settings.
* [NEW FEATURE] Opcode Cache support.
* [NEW FEATURE] Basic/Advanced setting view.
* [IMPROVEMENT] Added ARIA support in widget settings.
* [BUGFIX] Multiple WordPress instances with same Object Cache address will no longer see shared data.
* [BUGFIX] WebP Replacement may now be set at the Network level.
* [BUGFIX] Object Cache file can now be removed at the Network level uninstall.

= 1.8.1 - January 22 2018 =
* [NEW FEATURE] Object Cache now supports Redis.
* [IMPROVEMENT] Memcached Object Cache now supports authorization.
* [IMPROVEMENT] A 500 error will no longer be encountered when turning on Object Cache without the proper PHP extension installed.
* [BUGFIX] Object Cache settings can now be saved at the Network level.
* [BUGFIX] Mu-plugin now supports Network setting.
* [BUGFIX] Fixed admin bar showing inaccurate Edit Page link.
* [UPDATE] Removed warning information when no Memcached server is available.

= 1.8 - January 17 2018 =
* [NEW FEATURE] Object Cache.
* [REFACTOR] Refactored Log class.
* [REFACTOR] Refactored LSCWP basic const initialization.
* [BUGFIX] Fixed Cloudflare domain search breaking when saving more than 50 domains under a single account.
* [UPDATE] Log filter settings are now their own item in the wp-option table.

= 1.7.2 - January 5 2018 =
* [NEW FEATURE] Cloudflare API support.
* [IMPROVEMENT] IAPI key can now be reset to avoid issues when domain is changed.
* [BUGFIX] Fixed JS optimizer breaking certain plugins JS.
* [UPDATE] Added cdn settings to environment report.
* [GUI] Added more shortcuts to backend adminbar.
* [INTEGRATION] WooCommerce visitors are now served from public cache when cart is empty.

= 1.7.1.1 - December 29 2017 =
* [BUGFIX] Fixed an extra trailing underscore issue when saving multiple lines with DNS Prefetch.
* [UPDATE] Cleaned up unused dependency vendor files.

= 1.7.1 - December 28 2017 =
* [NEW FEATURE] Added DNS Prefetch setting on the Optimize page.
* [NEW FEATURE] Added Combined File Max Size setting on the Tuning page.
* [IMPROVEMENT] Improved JS/CSS minify to achieve higher page scores.
* [IMPROVEMENT] Optimized JS/CSS files will not be served from private cache for OLS or with ESI off.
* [UPDATE] Fixed a potential warning for new installations on the Settings page.
* [UPDATE] Fixed an issue with guest users occasionally receiving PHP warnings.
* [BUGFIX] Fixed a bug with the Improve HTTPS Compatibility setting failing to save.
* Thanks to all of our users for your encouragement and support! Happy New Year!
* PS: Lookout 2018, we're back!

= 1.7 - December 22 2017 =
* [NEW FEATURE] Drop Query Strings setting in the Cache tab.
* [NEW FEATURE] Multiple CDN Mapping in the CDN tab.
* [IMPROVEMENT] Improve HTTP/HTTPS Compatibility setting in the Advanced tab.
* [IMPROVEMENT] Keep JS/CSS original position in HTML when excluded in setting.
* [IAPI] Reset client level credit after Image Optimization data is destroyed.
* [REFACTOR] Refactored build_input/textarea functions in admin_display class.
* [REFACTOR] Refactored CDN class.
* [GUI] Added a notice to Image Optimization and Crawler to warn when cache is disabled.
* [GUI] Improved image optimization indicator styles in Media Library List.

= 1.6.7 - December 15 2017 =
* [IAPI] Added ability to scan for new image thumbnail sizes and auto-resend image optimization requests.
* [IAPI] Added ability to destroy all optimization data.
* [IAPI] Updated IAPI to v1.6.7.
* [INTEGRATION] Fixed certain 3rd party plugins calling REST without user nonce causing logged in users to be served as guest.

= 1.6.6.1 - December 8 2017 =
* [IAPI] Limit first-time submission to one image group for test-run purposes.
* [BUGFIX] Fixed vary group generation issue associated with custom user role plugins.
* [BUGFIX] Fixed WooCommerce issue where logged-in users were erroneously purged when ESI is off.
* [BUGFIX] Fixed WooCommerce cache miss issue when ESI is off.

= 1.6.6 - December 6 2017 =
* [NEW FEATURE] Preserve EXIF in Media setting.
* [NEW FEATURE] Clear log button in Debug Log Viewer.
* [IAPI] Fixed notified images resetting to previous status when pulling.
* [IAPI] Fixed HTTPS compatibility for image optimization initialization.
* [IAPI] An error message is now displayed when image optimization request submission is bypassed due to a lack of credit.
* [IAPI] IAPI v1.6.6.
* [IMPROVEMENT] Support JS data-no-optimize attribute to bypass optimization.
* [GUI] Added image group wiki link.
* [INTEGRATION] Improved compatibility with Login With Ajax.
* [INTEGRATION] Added function_exists check for WooCommerce to avoid 500 errors.

= 1.6.5.1 - December 1 2017 =
* [HOTFIX] Fixed warning message on Edit .htaccess page.

= 1.6.5 - November 30 2017 =
* [IAPI] Manually pull image optimization action button.
* [IAPI] Automatic credit system for image optimization to bypass unfinished image optimization error.
* [IAPI] Notify failed images from LiteSpeed's Image Server.
* [IAPI] Reset/Clear failed images feature.
* [IAPI] Redesigned report page.
* [REFACTOR] Moved pull_img logic from admin_api to media.
* [BUGFIX] Fixed a compatibility issue for clients who have allow_url_open setting off.
* [BUGFIX] Fixed logged in users sometimes being served from guest cache.
* [UPDATE] Environment report is no longer saved to a file.
* [UPDATE] Removed crawler reset notification.
* [GUI] Added more details on image optimization.
* [GUI] Removed info page from admin menu.
* [GUI] Moved environment report from network level to single site level.
* [GUI] Crawler time added in a user friendly format.
* [INTEGRATION] Improved compatibility with FacetWP json call.

= 1.6.4 - November 22 2017 =
* [NEW FEATURE] Send env reports privately with a new built-in report number referral system.
* [IAPI] Increased request timeout to fix a cUrl 28 timeout issue.
* [BUGFIX] Fixed a TTL max value validation bug.
* [INTEGRATION] Improved Contact Form 7 REST call compatibility for logged in users.
* Thanks for all your ratings. That encouraged us to be more diligent. Happy Thanksgiving.

= 1.6.3 - November 17 2017 =
* [NEW FEATURE] Only async Google Fonts setting.
* [NEW FEATURE] Only create WebP images when optimizing setting.
* [NEW FEATURE] Batch switch images to original/optimized versions in Image Optimization.
* [NEW FEATURE] Browser Cache TTL setting.
* [NEW FEATURE] Cache WooCommerce Cart setting.
* [IMPROVEMENT] Moved optimized JS/CSS snippet in header html to after meta charset.
* [IMPROVEMENT] Added a constant for better JS/CSS optimization compatibility for different dir WordPress installation.
* [IAPI] Take over failed callback check instead of bypassing it.
* [IAPI] Image optimization requests are now limited to 500 images per request.
* [BUGFIX] Fixed a parsing failure bug not using attributes in html elements with dash.
* [BUGFIX] Fixed a bug causing non-script code to move to the top of a page when not using combination.
* [UPDATE] Added detailed logs for external link detection.
* [UPDATE] Added new lines in footer comment to avoid Firefox crash when enabled HTML minify.
* [API] `Purge private` / `Purge private all` / `Add private tag` functions.
* [GUI] Redesigned image optimization operation links in Media Lib list.
* [GUI] Tweaked wp-admin form save button position.
* [GUI] Added "learn more" link for image optimization.

= 1.6.2.1 - November 6 2017 =
* [INTEGRATION] Improved compatibility with old WooCommerce versions to avoid unknown 500 errors.
* [BUGFIX] Fixed WebP images sometimes being used in non-supported browsers.
* [BUGFIX] Kept query strings for HTTP/2 push to avoid re-fetching pushed sources.
* [BUGFIX] Excluded JS/CSS from HTTP/2 push when using CDN.
* [GUI] Fixed a typo in Media list.
* [GUI] Made more image optimization strings translatable.
* [GUI] Updated Tuning description to include API documentation.

= 1.6.2 - November 3 2017 =
* [NEW FEATURE] Do Not Cache Roles.
* [NEW FEATURE] Use WebP Images for supported browsers.
* [NEW FEATURE] Disable Optimization Poll ON/OFF Switch in Media tab.
* [NEW FEATURE] Revert image optimization per image in Media list.
* [NEW FEATURE] Disable/Enable image WebP per image in Media list.
* [IAPI] Limit optimized images fetching cron to a single process.
* [IAPI] Updated IAPI to v1.6.2.
* [IAPI] Fixed repeating image request issue by adding a failure status to local images.
* [REFACTOR] Refactored login vary logic.

= 1.6.1 - October 29 2017 =
* [IAPI] Updated LiteSpeed Image Optimization Server API to v1.6.1.

= 1.6 - October 27 2017 =
* [NEW FEATURE] Image Optimization.
* [NEW FEATURE] Role Excludes for Optimization.
* [NEW FEATURE] Combined CSS/JS Priority.
* [IMPROVEMENT] Bypass CDN for login/register page.
* [UPDATE] Expanded ExpiresByType rules to include new font types. ( Thanks to JMCA2 )
* [UPDATE] Removed duplicated type param in admin action link.
* [BUGFIX] Fixed CDN wrongly replacing img base64 and "fake" src in JS.
* [BUGFIX] Fixed image lazy load replacing base64 src.
* [BUGFIX] Fixed a typo in Optimize class exception.
* [GUI] New Tuning tab in admin settings panel.
* [REFACTOR] Simplified router by reducing actions and adding types.
* [REFACTOR] Renamed `run()` to `finalize()` in buffer process.

= 1.5 - October 17 2017 =
* [NEW FEATURE] Exclude JQuery (to fix inline JS error when using JS Combine).
* [NEW FEATURE] Load JQuery Remotely.
* [NEW FEATURE] JS Deferred Excludes.
* [NEW FEATURE] Lazy Load Images Excludes.
* [NEW FEATURE] Lazy Load Image Placeholder.
* [IMPROVEMENT] Improved Lazy Load size attribute for w3c validator.
* [UPDATE] Added basic caching info and LSCWP version to HTML comment.
* [UPDATE] Added debug log to HTML detection.
* [BUGFIX] Fixed potential font CORS issue when using CDN.
* [GUI] Added API docs to setting description.
* [REFACTOR] Relocated all classes under includes with backwards compatibility.
* [REFACTOR] Relocated admin templates.

= 1.4 - October 11 2017 =
* [NEW FEATURE] Lazy load images/iframes.
* [NEW FEATURE] Clean CSS/JS optimizer data functionality in DB Optimizer panel.
* [NEW FEATURE] Exclude certain URIs from optimizer.
* [IMPROVEMENT] Improved optimizer HTML check compatibility to avoid conflicts with ESI functions.
* [IMPROVEMENT] Added support for using ^ when matching the start of a path in matching settings.
* [IMPROVEMENT] Added wildcard support in CDN original URL.
* [IMPROVEMENT] Moved optimizer table initialization to admin setting panel with failure warning.
* [UPDATE] Added a one-time welcome banner.
* [UPDATE] Partly relocated class: 'api'.
* [API] Added API wrapper for removing wrapped HTML output.
* [INTEGRATION] Fixed WooCommerce conflict with optimizer.
* [INTEGRATION] Private cache support for WooCommerce v3.2.0+.
* [GUI] Added No Optimization menu to frontend.

= 1.3.1.1 - October 6 2017 =
* [BUGFIX] Improved optimizer table creating process in certain database charset to avoid css/js minify/combination failure.

= 1.3.1 - October 5 2017 =
* [NEW FEATURE] Remove WP Emoji Option.
* [IMPROVEMENT] Separated optimizer data from wp_options to improve compatibility with backup plugins.
* [IMPROVEMENT] Enhanced crawler cron hook to prevent de-scheduling in some cases.
* [IMPROVEMENT] Enhanced Remove Query Strings to also remove Emoji query strings.
* [IMPROVEMENT] Enhanced HTML detection when extra spaces are present at the beginning.
* [UPDATE] Added private cache support for OLS.
* [BUGFIX] Self-redirects are no longer cached.
* [BUGFIX] Fixed css async lib warning when loading in HTTP/2 push.

= 1.3 - October 1 2017 =
* [NEW FEATURE] Added Browser Cache support.
* [NEW FEATURE] Added Remove Query Strings support.
* [NEW FEATURE] Added Remove Google Fonts support.
* [NEW FEATURE] Added Load CSS Asynchronously support.
* [NEW FEATURE] Added Load JS Deferred support.
* [NEW FEATURE] Added Critical CSS Rules support.
* [NEW FEATURE] Added Private Cached URIs support.
* [NEW FEATURE] Added Do Not Cache Query Strings support.
* [NEW FEATURE] Added frontend adminbar shortcuts ( Purge this page/Do Not Cache/Private cache ).
* [IMPROVEMENT] Do Not Cache URIs now supports full URLs.
* [IMPROVEMENT] Improved performance of Do Not Cache settings.
* [IMPROVEMENT] Encrypted vary cookie.
* [IMPROVEMENT] Enhanced HTML optimizer.
* [IMPROVEMENT] Limited combined file size to avoid heavy memory usage.
* [IMPROVEMENT] CDN supports custom upload folder for media files.
* [API] Added purge single post API.
* [API] Added version compare API.
* [API] Enhanced ESI API for third party plugins.
* [INTEGRATION] Compatibility with NextGEN Gallery v2.2.14.
* [INTEGRATION] Compatibility with Caldera Forms v1.5.6.2+.
* [BUGFIX] Fixed CDN&Minify compatibility with css url links.
* [BUGFIX] Fixed .htaccess being regenerated despite there being no changes.
* [BUGFIX] Fixed CDN path bug for subfolder WP instance.
* [BUGFIX] Fixed crawler path bug for subfolder WP instance with different site url and home url.
* [BUGFIX] Fixed a potential Optimizer generating redundant duplicated JS in HTML bug.
* [GUI] Added a more easily accessed submit button in admin settings.
* [GUI] Admin settings page cosmetic changes.
* [GUI] Reorganized GUI css/img folder structure.
* [REFACTOR] Refactored configuration init.
* [REFACTOR] Refactored admin setting save.
* [REFACTOR] Refactored .htaccess operator and rewrite rule generation.

= 1.2.3.1 - September 20 2017 =
* [UPDATE] Improved PHP5.3 compatibility.

= 1.2.3 - September 20 2017 =
* [NEW FEATURE] Added CDN support.
* [IMPROVEMENT] Improved compatibility when upgrading by fixing a possible fatal error.
* [IMPROVEMENT] Added support for custom wp-content paths.
* [BUGFIX] Fixed non-primary network blogs not being able to minify.
* [BUGFIX] Fixed HTML Minify preventing Facebook from being able to parse og tags.
* [BUGFIX] Preview page is no longer cacheable.
* [BUGFIX] Corrected log and crawler timezone to match set WP timezone.
* [GUI] Revamp of plugin GUI.

= 1.2.2 - September 15 2017 =
* [NEW FEATURE] Added CSS/JS minification.
* [NEW FEATURE] Added CSS/JS combining.
* [NEW FEATURE] Added CSS/JS HTTP/2 server push.
* [NEW FEATURE] Added HTML minification.
* [NEW FEATURE] Added CSS/JS cache purge button in management.
* [UPDATE] Improved debug log formatting.
* [UPDATE] Fixed some description typos.

= 1.2.1 - September 7 2017 =
* [NEW FEATURE] Added Database Optimizer.
* [NEW FEATURE] Added Tab switch shortcut.
* [IMPROVEMENT] Added cache disabled check for management pages.
* [IMPROVEMENT] Renamed .htaccess backup for security.
* [BUGFIX] Fixed woocommerce default ESI setting bug.
* [REFACTOR] Show ESI page for OLS with notice.
* [REFACTOR] Management Purge GUI updated.

= 1.2.0.1 - September 1 2017 =
* [BUGFIX] Fixed a naming bug for network constant ON2.

= 1.2.0 - September 1 2017 =
* [NEW FEATURE] Added ESI support.
* [NEW FEATURE] Added a private cache TTL setting.
* [NEW FEATURE] Debug level can now be set to either 'Basic' or 'Advanced'.
* [REFACTOR] Renamed const 'NOTSET' to 'ON2' in class config.

= 1.1.6 - August 23 2017 =
* [NEW FEATURE] Added option to privately cache logged-in users.
* [NEW FEATURE] Added option to privately cache commenters.
* [NEW FEATURE] Added option to cache requests made through WordPress REST API.
* [BUGFIX] Fixed network 3rd-party full-page cache detection bug.
* [GUI] New Cache and Purge menus in Settings.

= 1.1.5.1 - August 16 2017 =
* [IMPROVEMENT] Improved compatibility of frontend&backend .htaccess path detection when site url is different than installation path.
* [UPDATE] Removed unused format string from header tags.
* [BUGFIX] 'showheader' Admin Query String now works.
* [REFACTOR] Cache tags will no longer output if not needed.

= 1.1.5 - August 10 2017 =
* [NEW FEATURE] Scheduled Purge URLs feature.
* [NEW FEATURE] Added buffer callback to improve compatibility with some plugins that force buffer cleaning.
* [NEW FEATURE] Hide purge_all admin bar quick link if cache is disabled.
* [NEW FEATURE] Required htaccess rules are now displayed when .htaccess is not writable.
* [NEW FEATURE] Debug log features: filter log support; heartbeat control; log file size limit; log viewer.
* [IMPROVEMENT] Separate crawler access log.
* [IMPROVEMENT] Lazy PURGE requests made after output are now queued and working.
* [IMPROVEMENT] Improved readme.txt with keywords relating to our compatible plugins list.
* [UPDATE] 'ExpiresDefault' conflict msg is now closeable and only appears in the .htaccess edit screen.
* [UPDATE] Improved debug log formatting.
* [INTEGRATION] Compatibility with MainWP plugin.
* [BUGFIX] Fixed WooCommerce order not purging product stock quantity.
* [BUGFIX] Fixed WooCommerce scheduled sale price not updating issue.
* [REFACTOR] Combined cache_enable functions into a single function.

= 1.1.4 - August 1 2017 =
* [IMPROVEMENT] Unexpected rewrite rules will now show an error message.
* [IMPROVEMENT] Added Cache Tag Prefix setting info in the Env Report and Info page.
* [IMPROVEMENT] LSCWP setting link is now displayed in the plugin list.
* [IMPROVEMENT] Improved performance when setting cache control.
* [UPDATE] Added backward compatibility for v1.1.2.2 API calls. (used by 3rd-party plugins)
* [BUGFIX] Fixed WPCLI purge tag/category never succeeding.

= 1.1.3 - July 31 2017 =
* [NEW FEATURE] New LiteSpeed_Cache_API class and documentation for 3rd party integration.
* [NEW FEATURE] New API function litespeed_purge_single_post($post_id).
* [NEW FEATURE] PHP CLI support for crawler.
* [IMPROVEMENT] Set 'no cache' for same location 301 redirects.
* [IMPROVEMENT] Improved LiteSpeed footer comment compatibility.
* [UPDATE] Removed 'cache tag prefix' setting.
* [BUGFIX] Fixed a bug involving CLI purge all.
* [BUGFIX] Crawler now honors X-LiteSpeed-Cache-Control for the 'no-cache' header.
* [BUGFIX] Cache/rewrite rules are now cleared when the plugin is uninstalled.
* [BUGFIX] Prevent incorrect removal of the advanced-cache.php on deactivation if it was added by another plugin.
* [BUGFIX] Fixed subfolder WP installations being unable to Purge By URL using a full URL path.
* [REFACTOR] Reorganized existing code for an upcoming ESI release.

= 1.1.2.2 - July 13 2017 =
* [BUGFIX] Fixed blank page in Hebrew language post editor by removing unused font-awesome and jquery-ui css libraries.

= 1.1.2.1 - July 5 2017 =
* [UPDATE] Improved compatibility with WooCommerce v3.1.0.

= 1.1.2 - June 20 2017 =
* [BUGFIX] Fixed missing form close tag.
* [UPDATE] Added a wiki link for enabling the crawler.
* [UPDATE] Improved Site IP description.
* [UPDATE] Added an introduction to the crawler on the Information page.
* [REFACTOR] Added more detailed error messages for Site IP and Custom Sitemap settings.

= 1.1.1.1 - June 15 2017 =
* [BUGFIX] Hotfix for insufficient validation of site IP value in crawler settings.

= 1.1.1 - June 15 2017 =
* [NEW] As of LiteSpeed Web Server v.5.1.16, the crawler can now be enabled/disabled at the server level.
* [NEW] Added the ability to provide a custom sitemap for crawling.
* [NEW] Added ability to use site IP address directly in crawler settings.
* [NEW] Crawler performance improved with the use of new custom user agent 'lsrunner'.
* [NEW] "Purge By URLs" now supports full URL paths.
* [NEW] Added thirdparty WP-PostRatings compatibility.
* [BUGFIX] Cache is now cleared when changing post status from published to draft.
* [BUGFIX] WHM activation message no longer continues to reappear after being dismissed.
* [COSMETIC] Display recommended values for settings.

= 1.1.0.1 - June 8 2017 =
* [UPDATE] Improved default crawler interval setting.
* [UPDATE] Tested up to WP 4.8.
* [BUGFIX] Fixed compatibility with plugins that output json data.
* [BUGFIX] Fixed tab switching bug.
* [BUGFIX] Removed occasional duplicated messages on save.
* [COSMETIC] Improved crawler tooltips and descriptions.

= 1.1.0 - June 6 2017 =
* [NEW] Added a crawler - this includes configuration options and a dedicated admin page. Uses wp-cron
* [NEW] Added integration for WPLister
* [NEW] Added integration for Avada
* [UPDATE] General structure of the plugin revamped
* [UPDATE] Improved look of admin pages
* [BUGFIX] Fix any/all wp-content path retrieval issues
* [BUGFIX] Use realpath to clear symbolic link when determining .htaccess paths
* [BUGFIX] Fixed a bug where upgrading multiple plugins did not trigger a purge all
* [BUGFIX] Fixed a bug where cli import_options did not actually update the options.
* [REFACTOR] Most of the files in the code were split into more, smaller files

= 1.0.15 - April 20 2017 =
* [NEW] Added Purge Pages and Purge Recent Posts Widget pages options.
* [NEW] Added wp-cli command for setting and getting options.
* [NEW] Added an import/export options cli command.
* [NEW] Added wpForo integration.
* [NEW] Added Theme My Login integration.
* [UPDATE] Purge adjacent posts when publish a new post.
* [UPDATE] Change environment report file to .php and increase security.
* [UPDATE] Added new purgeby option to wp-cli.
* [UPDATE] Remove nag for multiple sites.
* [UPDATE] Only inject LiteSpeed javascripts in LiteSpeed pages.
* [REFACTOR] Properly check for zero in ttl settings.
* [BUGFIX] Fixed the 404 issue that can be caused by some certain plugins when save the settings.
* [BUGFIX] Fixed mu-plugin compatibility.
* [BUGFIX] Fixed problem with creating zip backup.
* [BUGFIX] Fixed conflict with jetpack.

= 1.0.14.1 - January 31 2017 =
* [UPDATE] Removed Freemius integration due to feedback.

= 1.0.14 - January 30 2017 =
* [NEW] Added error page caching. Currently supports 403, 404, 500s.
* [NEW] Added a purge errors action.
* [NEW] Added wp-cli integration.
* [UPDATE] Added support for multiple varies.
* [UPDATE] Reorganize the admin interface to be less cluttered.
* [UPDATE] Add support for LiteSpeed Web ADC.
* [UPDATE] Add Freemius integration.
* [REFACTOR] Made some changes so that the rewrite rules are a little more consistent.
* [BUGFIX] Check member type before adding purge all button.
* [BUGFIX] Fixed a bug where activating/deactivating the plugin quickly caused the WP_CACHE error to show up.
* [BUGFIX] Handle more characters in the rewrite parser.
* [BUGFIX] Correctly purge posts when they are made public/private.

= 1.0.13.1 - November 30 2016 =
* [BUGFIX] Fixed a bug where a global was being used without checking existence first, causing unnecessary log entries.

= 1.0.13 - November 28 2016 =
* [NEW] Add an Empty Entire Cache button.
* [NEW] Add stale logic to certain purge actions.
* [NEW] Add option to use primary site settings for all subsites in a multisite environment.
* [NEW] Add support for Aelia CurrencySwitcher
* [UPDATE] Add logic to allow third party vary headers
* [UPDATE] Handle password protected pages differently.
* [BUGFIX] Fixed bug caused by saving settings.
* [BUGFIX] FIxed bug when searching for advanced-cache.php

= 1.0.12 - November 14 2016 =
* [NEW] Added logic to generate environment reports.
* [NEW] Created a notice that will be triggered when the WHM Plugin installs this plugin. This will notify users when the plugin is installed by their server admin.
* [NEW] Added the option to cache 404 pages via 404 Page TTL setting.
* [NEW] Reworked log system to be based on selection of yes or no instead of log level.
* [NEW] Added support for Autoptimize.
* [NEW] Added Better WP Minify integration.
* [UPDATE] On plugin disable, clear .htaccess.
* [UPDATE] Introduced URL tag. Changed Purge by URL to use this new tag.
* [BUGFIX] Fixed a bug triggered when .htaccess files were empty.
* [BUGFIX] Correctly determine when to clear files in multisite environments (wp-config, advanced-cache, etc.).
* [BUGFIX] When disabling the cache, settings changed in the same save will now be saved.
* [BUGFIX] Various bugs from setting changes and multisite fixed.
* [BUGFIX] Fixed two bugs with the .htaccess path search.
* [BUGFIX] Do not alter $_GET in add_quick_purge. This may cause issues for functionality occurring later in the same request.
* [BUGFIX] Right to left radio settings were incorrectly displayed. The radio buttons themselves were the opposite direction of the associated text.

= 1.0.11 - October 11 2016 =
* [NEW] The plugin will now set cachelookup public on.
* [NEW] New option - check advanced-cache.php. This enables users to have two caching plugins enabled at the same time as long as the other plugin is not used for caching purposes. For example, using another cache plugin for css/js minification.
* [UPDATE] Rules added by the plugin will now be inserted into an LSCACHE START/END PLUGIN comment block.
* [UPDATE] For woocommerce pages, if a user visits a non-cached page with a non-empty cart, do not cache the page.
* [UPDATE] If woocommerce needs to display any notice, do not cache the page.
* [UPDATE] Single site settings are now in both the litespeed cache submenu and the settings submenu.
* [BUGFIX] Multisite network options were not updated on upgrade. This is now corrected.

= 1.0.10 - September 16 2016 =
* Added a check for LSCACHE_NO_CACHE definition.
* Added a Purge All button to the admin bar.
* Added logic to purge the cache when upgrading a plugin or theme. By default this is enabled on single site installations and disabled on multisite installations.
* Added support for WooCommerce Versions < 2.5.0.
* Added .htaccess backup rotation. Every 10 backups, an .htaccess archive will be created. If one already exists, it will be overwritten.
* Moved some settings to the new Specific Pages tab to reduce clutter in the General tab.
* The .htaccess editor is now disabled if DISALLOW_FILE_EDIT is set.
* After saving the Cache Tag Prefix setting, all cache will be purged.

= 1.0.9.1 - August 26 2016 =
* Fixed a bug where an error displayed on the configuration screen despite not being an error.
* Change logic to check .htaccess file less often.

= 1.0.9 - August 25 2016 =
* [NEW] Added functionality to cache and purge feeds.
* [NEW] Added cache tag prefix setting to avoid conflicts when using LiteSpeed Cache for WordPress with LiteSpeed Cache for XenForo and LiteMage.
* [NEW] Added hooks to allow third party plugins to create config options.
* [NEW] Added WooCommerce config options.
* The plugin now also checks for wp-config in the parent directory.
* Improved WooCommerce support.
* Changed .htaccess backup process. Will create a .htaccess_lscachebak_orig file if one does not exist. If it does already exist, creates a backup using the date and timestamp.
* Fixed a bug where get_home_path() sometimes returned an invalid path.
* Fixed a bug where if the .htaccess was removed from a WordPress subdirectory, it was not handled properly.

= 1.0.8.1 - July 28 2016 =
* Fixed a bug where check cacheable was sometimes not hit.
* Fixed a bug where extra slashes in clear rules were stripped.

= 1.0.8 - July 25 2016 =
* Added purge all on update check to purge by post id logic.
* Added uninstall logic.
* Added configuration for caching favicons.
* Added configuration for caching the login page.
* Added configuration for caching php resources (scripts/stylesheets accessed as .php).
* Set login cookie if user is logged in and it isn’t set.
* Improved NextGenGallery support to include new actions.
* Now displays a notice on the network admin if WP_CACHE is not set.
* Fixed a few php syntax issues.
* Fixed a bug where purge by pid didn’t work.
* Fixed a bug where the Network Admin settings were shown when the plugin was active in a subsite, but not network active.
* Fixed a bug where the Advanced Cache check would sometimes not work.

= 1.0.7.1 - May 26 2016 =
* Fixed a bug where enabling purge all in the auto purge on update settings page did not purge the correct blogs.
* Fixed a bug reported by user wpc on our forums where enabling purge all in the auto purge on update settings page caused nothing to be cached.

= 1.0.7 - May 24 2016 =
* Added login cookie configuration to the Advanced Settings page.
* Added support for WPTouch plugin.
* Added support for WP-Polls plugin.
* Added Like Dislike Counter third party integration.
* Added support for Admin IP Query String Actions.
* Added confirmation pop up for purge all.
* Refactor: LiteSpeed_Cache_Admin is now split into LiteSpeed_Cache_Admin, LiteSpeed_Cache_Admin_Display, and LiteSpeed_Cache_Admin_Rules
* Refactor: Rename functions to accurately represent their functionality
* Fixed a bug that sometimes caused a “no valid header” error message.

= 1.0.6 - May 5 2016 =
* Fixed a bug reported by Knut Sparhell that prevented dashboard widgets from being opened or closed.
* Fixed a bug reported by Knut Sparhell that caused problems with https support for admin pages.

= 1.0.5 - April 26 2016 =
* [BETA] Added NextGen Gallery plugin support.
* Added third party plugin integration.
* Improved cache tag system.
* Improved formatting for admin settings pages.
* Converted bbPress to use the new third party integration system.
* Converted WooCommerce to use the new third party integration system.
* If .htaccess is not writable, disable separate mobile view and do not cache cookies/user agents.
* Cache is now automatically purged when disabled.
* Fixed a bug where .htaccess was not checked properly when adding common rules.
* Fixed a bug where multisite setups would be completely purged when one site requested a purge all.

= 1.0.4 - April 7 2016 =
* Added logic to cache commenters.
* Added htaccess backup to the install script.
* Added an htaccess editor in the wp-admin dashboard.
* Added do not cache user agents.
* Added do not cache cookies.
* Created new LiteSpeed Cache Settings submenu entries.
* Implemented Separate Mobile View.
* Modified WP_CACHE not defined message to only show up for users who can manage options.
* Moved enabled all/disable all from network management to network settings.
* Fixed a bug where WP_CACHE was not defined on activation if it was commented out.

= 1.0.3 - March 23 2016 =
* Added a Purge Front Page button to the LiteSpeed Cache Management page.
* Added a Default Front Page TTL option to the general settings.
* Added ability to define web application specific cookie names through rewrite rules to handle logged-in cookie conflicts when using multiple web applications. <strong>[Requires LSWS 5.0.15+]</strong>
* Improved WooCommerce handling.
* Fixed a bug where activating lscwp sets the “enable cache” radio button to enabled, but the cache was not enabled by default.
* Refactored code to make it cleaner.
* Updated readme.txt.

= 1.0.2 - March 11 2016 =
* Added a "Use Network Admin Setting" option for "Enable LiteSpeed Cache". For single sites, this choice will default to enabled.
* Added enable/disable all buttons for network admin. This controls the setting of all managed sites with "Use Network Admin Setting" selected for "Enable LiteSpeed Cache".
* Exclude by Category/Tag are now text areas to avoid slow load times on the LiteSpeed Cache Settings page for sites with a large number of categories/tags.
* Added a new line to advanced-cache.php to allow identification as a LiteSpeed Cache file.
* Activation/Deactivation are now better handled in multi-site environments.
* Enable LiteSpeed Cache setting is now a radio button selection instead of a single checkbox.
* Can now add '$' to the end of a URL in Exclude URI to perform an exact match.
* The _lscache_vary cookie will now be deleted upon logout.
* Fixed a bug in multi-site setups that would cause a "function already defined" error.

= 1.0.1 - March 8 2016 =
* Added Do Not Cache by URI, by Category, and by Tag.  URI is a prefix/string equals match.
* Added a help tab for plugin compatibilities.
* Created logic for other plugins to purge a single post if updated.
* Fixed a bug where woocommerce pages that display the cart were cached.
* Fixed a bug where admin menus in multi-site setups were not correctly displayed.
* Fixed a bug where logged in users were served public cached pages.
* Fixed a compatibility bug with bbPress.  If there is a new forum/topic/reply, the parent pages will now be purged as well.
* Fixed a bug that didn't allow cron job to update scheduled posts.

= 1.0.0 - January 20 2016 =
* Initial Release.
var/www/vhosts/uyarreklam.com.tr/httpdocs/wp-content/plugins/akismet/changelog.txt000064400000055523151540277670024647 0ustar00=== Akismet Anti-spam ===

== Archived Changelog Entries ==

This file contains older changelog entries, so we can keep the size of the standard WordPress readme.txt file reasonable.
For the latest changes, please see the "Changelog" section of the [readme.txt file](https://plugins.svn.wordpress.org/akismet/trunk/readme.txt).

= 4.2.5 =
*Release Date - 11 July 2022*

* Fixed a bug that added unnecessary comment history entries after comment rechecks.
* Added a notice that displays when WP-Cron is disabled and might be affecting comment rechecks.

= 4.2.4 =
*Release Date - 20 May 2022*

* Improved translator instructions for comment history.
* Bumped the "Tested up to" tag to WP 6.0.

= 4.2.3 =
*Release Date - 25 April 2022*

* Improved compatibility with Fluent Forms
* Fixed missing translation domains
* Updated stats URL.
* Improved accessibility of elements on the config page.

= 4.2.2 =
*Release Date - 24 January 2022*

* Improved compatibility with Formidable Forms
* Fixed a bug that could cause issues when multiple contact forms appear on one page.
* Updated delete_comment and deleted_comment actions to pass two arguments to match WordPress core since 4.9.0.
* Added a filter that allows comment types to be excluded when counting users' approved comments.

= 4.2.1 =
*Release Date - 1 October 2021*

* Fixed a bug causing AMP validation to fail on certain pages with forms.

= 4.2 =
*Release Date - 30 September 2021*

* Added links to additional information on API usage notifications.
* Reduced the number of network requests required for a comment page when running Akismet.
* Improved compatibility with the most popular contact form plugins.
* Improved API usage buttons for clarity on what upgrade is needed.

= 4.1.12 =
*Release Date - 3 September 2021*

* Fixed "Use of undefined constant" notice.
* Improved styling of alert notices.

= 4.1.11 =
*Release Date - 23 August 2021*

* Added support for Akismet API usage notifications on Akismet settings and edit-comments admin pages.
* Added support for the deleted_comment action when bulk-deleting comments from Spam.

= 4.1.10 =
*Release Date - 6 July 2021*

* Simplified the code around checking comments in REST API and XML-RPC requests.
* Updated Plus plan terminology in notices to match current subscription names.
* Added `rel="noopener"` to the widget link to avoid warnings in Google Lighthouse.
* Set the Akismet JavaScript as deferred instead of async to improve responsiveness.
* Improved the preloading of screenshot popups on the edit comments admin page.

= 4.1.9 =
*Release Date - 2 March 2021*

* Improved handling of pingbacks in XML-RPC multicalls

= 4.1.8 =
*Release Date - 6 January 2021*

* Fixed missing fields in submit-spam and submit-ham calls that could lead to reduced accuracy.
* Fixed usage of deprecated jQuery function.

= 4.1.7 =
*Release Date - 22 October 2020*

* Show the "Set up your Akismet account" banner on the comments admin screen, where it's relevant to mention if Akismet hasn't been configured.
* Don't use wp_blacklist_check when the new wp_check_comment_disallowed_list function is available.

= 4.1.6 =
*Release Date - 4 June 2020*

* Disable "Check for Spam" button until the page is loaded to avoid errors with clicking through to queue recheck endpoint directly.
* Added filter "akismet_enable_mshots" to allow disabling screenshot popups on the edit comments admin page.

= 4.1.5 =
*Release Date - 29 April 2020*

* Based on user feedback, we have dropped the in-admin notice explaining the availability of the "privacy notice" option in the AKismet settings screen. The option itself is available, but after displaying the notice for the last 2 years, it is now considered a known fact.
* Updated the "Requires at least" to WP 4.6, based on recommendations from https://wp-info.org/tools/checkplugini18n.php?slug=akismet
* Moved older changelog entries to a separate file to keep the size of this readme reasonable, also based on recommendations from https://wp-info.org/tools/checkplugini18n.php?slug=akismet

= 4.1.4 =
*Release Date - 17 March 2020*

* Only redirect to the Akismet setup screen upon plugin activation if the plugin was activated manually from within the plugin-related screens, to help users with non-standard install workflows, like WP-CLI.
* Update the layout of the initial setup screen to be more readable on small screens.
* If no API key has been entered, don't run code that expects an API key.
* Improve the readability of the comment history entries.
* Don't modify the comment form HTML if no API key has been set.

= 4.1.3 =
*Release Date - 31 October 2019*

* Prevented an attacker from being able to cause a user to unknowingly recheck their Pending comments for spam.
* Improved compatibility with Jetpack 7.7+.
* Updated the plugin activation page to use consistent language and markup.
* Redirecting users to the Akismet connnection/settings screen upon plugin activation, in an effort to make it easier for people to get setup.

= 4.1.2 =
*Release Date - 14 May 2019*

* Fixed a conflict between the Akismet setup banner and other plugin notices.
* Reduced the number of API requests made by the plugin when attempting to verify the API key.
* Include additional data in the pingback pre-check API request to help make the stats more accurate.
* Fixed a bug that was enabling the "Check for Spam" button when no comments were eligible to be checked.
* Improved Akismet's AMP compatibility.

= 4.1.1 =
*Release Date - 31 January 2019*

* Fixed the "Setup Akismet" notice so it resizes responsively.
* Only highlight the "Save Changes" button in the Akismet config when changes have been made.
* The count of comments in your spam queue shown on the dashboard show now always be up-to-date.

= 4.1 =
*Release Date - 12 November 2018*

* Added a WP-CLI method for retrieving stats.
* Hooked into the new "Personal Data Eraser" functionality from WordPress 4.9.6.
* Added functionality to clear outdated alerts from Akismet.com.

= 4.0.8 =
*Release Date - 19 June 2018*

* Improved the grammar and consistency of the in-admin privacy related notes (notice and config).
* Revised in-admin explanation of the comment form privacy notice to make its usage clearer.
* Added `rel="nofollow noopener"` to the comment form privacy notice to improve SEO and security.

= 4.0.7 =
*Release Date - 28 May 2018*

* Based on user feedback, the link on "Learn how your comment data is processed." in the optional privacy notice now has a `target` of `_blank` and opens in a new tab/window.
* Updated the in-admin privacy notice to use the term "comment" instead of "contact" in "Akismet can display a notice to your users under your comment forms."
* Only show in-admin privacy notice if Akismet has an API Key configured

= 4.0.6 =
*Release Date - 26 May 2018*

* Moved away from using `empty( get_option() )` to instantiating a variable to be compatible with older versions of PHP (5.3, 5.4, etc).

= 4.0.5 =
*Release Date - 26 May 2018*

* Corrected version number after tagging. Sorry...

= 4.0.4 =
*Release Date - 26 May 2018*

* Added a hook to provide Akismet-specific privacy information for a site's privacy policy.
* Added tools to control the display of a privacy related notice under comment forms.
* Fixed HTML in activation failure message to close META and HEAD tag properly.
* Fixed a bug that would sometimes prevent Akismet from being correctly auto-configured.

= 4.0.3 =
*Release Date - 19 February 2018*

* Added a scheduled task to remove entries in wp_commentmeta that no longer have corresponding comments in wp_comments.
* Added a new `akismet_batch_delete_count` action to the batch delete methods for people who'd like to keep track of the numbers of records being processed by those methods.

= 4.0.2 =
*Release Date - 18 December 2017*

* Fixed a bug that could cause Akismet to recheck a comment that has already been manually approved or marked as spam.
* Fixed a bug that could cause Akismet to claim that some comments are still waiting to be checked when no comments are waiting to be checked.

= 4.0.1 =
*Release Date - 6 November 2017*

* Fixed a bug that could prevent some users from connecting Akismet via their Jetpack connection.
* Ensured that any pending Akismet-related events are unscheduled if the plugin is deactivated.
* Allow some JavaScript to be run asynchronously to avoid affecting page render speeds.

= 4.0 =
*Release Date - 19 September 2017*

* Added REST API endpoints for configuring Akismet and retrieving stats.
* Increased the minimum supported WordPress version to 4.0.
* Added compatibility with comments submitted via the REST API.
* Improved the progress indicator on the "Check for Spam" button.

= 3.3.4 =
*Release Date - 3 August 2017*

* Disabled Akismet's debug log output by default unless AKISMET_DEBUG is defined.
* URL previews now begin preloading when the mouse moves near them in the comments section of wp-admin.
* When a comment is caught by the Comment Blacklist, Akismet will always allow it to stay in the trash even if it is spam as well.
* Fixed a bug that was preventing an error from being shown when a site can't reach Akismet's servers.

= 3.3.3 =
*Release Date - 13 July 2017*

* Reduced amount of bandwidth used by the URL Preview feature.
* Improved the admin UI when the API key is manually pre-defined for the site.
* Removed a workaround for WordPress installations older than 3.3 that will improve Akismet's compatibility with other plugins.
* The number of spam blocked that is displayed on the WordPress dashboard will now be more accurate and updated more frequently.
* Fixed a bug in the Akismet widget that could cause PHP warnings.

= 3.3.2 =
*Release Date - 10 May 2017*

* Fixed a bug causing JavaScript errors in some browsers.

= 3.3.1 =
*Release Date - 2 May 2017*

* Improve performance by only requesting the akismet_comment_nonce option when absolutely necessary.
* Fixed two bugs that could cause PHP warnings.
* Fixed a bug that was preventing the "Remove author URL" feature from working after a comment was edited using "Quick Edit."
* Fixed a bug that was preventing the URL preview feature from working after a comment was edited using "Quick Edit."

= 3.3 =
*Release Date - 23 February 2017*

* Updated the Akismet admin pages with a new clean design.
* Fixed bugs preventing the `akismet_add_comment_nonce` and `akismet_update_alert` wrapper functions from working properly.
* Fixed bug preventing the loading indicator from appearing when re-checking all comments for spam.
* Added a progress indicator to the "Check for Spam" button.
* Added a success message after manually rechecking the Pending queue for spam.

= 3.2 =
*Release Date - 6 September 2016*

* Added a WP-CLI module. You can now check comments and recheck the moderation queue from the command line.
* Stopped using the deprecated jQuery function `.live()`.
* Fixed a bug in `remove_comment_author_url()` and `add_comment_author_url()` that could generate PHP notices.
* Fixed a bug that could cause an infinite loop for sites with very very very large comment IDs.
* Fixed a bug that could cause the Akismet widget title to be blank.

= 3.1.11 =
*Release Date - 12 May 2016*

* Fixed a bug that could cause the "Check for Spam" button to skip some comments.
* Fixed a bug that could prevent some spam submissions from being sent to Akismet.
* Updated all links to use https:// when possible.
* Disabled Akismet debug logging unless WP_DEBUG and WP_DEBUG_LOG are both enabled.

= 3.1.10 =
*Release Date - 1 April 2016*

* Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
* Fixed a bug that could have resulted in comments that were caught by the core WordPress comment blacklist not to have a corresponding History entry.
* Fixed a bug that could have caused avoidable PHP warnings in the error log.

= 3.1.9 =
*Release Date - 28 March 2016*

* Add compatibility with Jetpack so that Jetpack can automatically configure Akismet settings when appropriate.
* Fixed a bug preventing some comment data from being sent to Akismet.

= 3.1.8 =
*Release Date - 4 March 2016*

* Fixed a bug preventing Akismet from being used with some plugins that rewrite admin URLs.
* Reduced the amount of bandwidth used on Akismet API calls
* Reduced the amount of space Akismet uses in the database
* Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.

= 3.1.7 =
*Release Date - 4 January 2016*

* Added documentation for the 'akismet_comment_nonce' filter.
* The post-install activation button is now accessible to screen readers and keyboard-only users.
* Fixed a bug that was preventing the "Remove author URL" feature from working in WordPress 4.4

= 3.1.6 =
*Release Date - 14 December 2015*

* Improve the notices shown after activating Akismet.
* Update some strings to allow for the proper plural forms in all languages.

= 3.1.5 =
*Release Date - 13 October 2015*

* Closes a potential XSS vulnerability.

= 3.1.4 =
*Release Date - 24 September 2015*

* Fixed a bug that was preventing some users from automatically connecting using Jetpack if they didn't have a current Akismet subscription.
* Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
* Error messages and instructions have been simplified to be more understandable.
* Link previews are enabled for all links inside comments, not just the author's website link.

= 3.1.3 =
*Release Date - 6 July 2015*

* Notify users when their account status changes after previously being successfully set up. This should help any users who are seeing blank Akismet settings screens.

= 3.1.2 =
*Release Date - 7 June 2015*

* Reduced the amount of space Akismet uses in the commentmeta table.
* Fixed a bug where some comments with quotes in the author name weren't getting history entries
* Pre-emptive security improvements to ensure that the Akismet plugin can't be used by attackers to compromise a WordPress installation.
* Better UI for the key entry field: allow whitespace to be included at the beginning or end of the key and strip it out automatically when the form is submitted.
* When deactivating the plugin, notify the Akismet API so the site can be marked as inactive.
* Clearer error messages.

= 3.1.1 =
*Release Date - 17th March, 2015*

* Improvements to the "Remove comment author URL" JavaScript
* Include the pingback pre-check from the 2.6 branch.

= 3.1 =
*Release Date - 11th March, 2015*

* Use HTTPS by default for all requests to Akismet.
* Fix for a situation where Akismet might strip HTML from a comment.

= 3.0.4 =
*Release Date - 11th December, 2014*

* Fix to make .htaccess compatible with Apache 2.4.
* Fix to allow removal of https author URLs.
* Fix to avoid stripping part of the author URL when removing and re-adding.
* Removed the "Check for Spam" button from the "Trash" and "Approved" queues, where it would have no effect.
* Allow automatic API key configuration when Jetpack is installed and connected to a WordPress.com account

= 3.0.3 =
*Release Date - 3rd November, 2014*

* Fix for sending the wrong data to delete_comment action that could have prevented old spam comments from being deleted.
* Added a filter to disable logging of Akismet debugging information.
* Added a filter for the maximum comment age when deleting old spam comments.
* Added a filter for the number per batch when deleting old spam comments.
* Removed the "Check for Spam" button from the Spam folder.

= 3.0.2 =
*Release Date - 18th August, 2014*

* Performance improvements.
* Fixed a bug that could truncate the comment data being sent to Akismet for checking.

= 3.0.1 =
*Release Date - 9th July, 2014*

* Removed dependency on PHP's fsockopen function
* Fix spam/ham reports to work when reported outside of the WP dashboard, e.g., from Notifications or the WP app
* Remove jQuery dependency for comment form JavaScript
* Remove unnecessary data from some Akismet comment meta
* Suspended keys will now result in all comments being put in moderation, not spam.

= 3.0.0 =
*Release Date - 15th April, 2014*

* Move Akismet to Settings menu
* Drop Akismet Stats menu
* Add stats snapshot to Akismet settings
* Add Akismet subscription details and status to Akismet settings
* Add contextual help for each page
* Improve Akismet setup to use Jetpack to automate plugin setup
* Fix "Check for Spam" to use AJAX to avoid page timing out
* Fix Akismet settings page to be responsive
* Drop legacy code
* Tidy up CSS and Javascript
* Replace the old discard setting with a new "discard pervasive spam" feature.

= 2.6.0 =
*Release Date - 18th March, 2014*

* Add ajax paging to the check for spam button to handle large volumes of comments
* Optimize javascript and add localization support
* Fix bug in link to spam comments from right now dashboard widget
* Fix bug with deleting old comments to avoid timeouts dealing with large volumes of comments
* Include X-Pingback-Forwarded-For header in outbound WordPress pingback verifications
* Add pre-check for pingbacks, to stop spam before an outbound verification request is made

= 2.5.9 =
*Release Date - 1st August, 2013*

* Update 'Already have a key' link to redirect page rather than depend on javascript
* Fix some non-translatable strings to be translatable
* Update Activation banner in plugins page to redirect user to Akismet config page

= 2.5.8 =
*Release Date - 20th January, 2013*

* Simplify the activation process for new users
* Remove the reporter_ip parameter
* Minor preventative security improvements

= 2.5.7 =
*Release Date - 13th December, 2012*

* FireFox Stats iframe preview bug
* Fix mshots preview when using https
* Add .htaccess to block direct access to files
* Prevent some PHP notices
* Fix Check For Spam return location when referrer is empty
* Fix Settings links for network admins
* Fix prepare() warnings in WP 3.5

= 2.5.6 =
*Release Date - 26th April, 2012*

* Prevent retry scheduling problems on sites where wp_cron is misbehaving
* Preload mshot previews
* Modernize the widget code
* Fix a bug where comments were not held for moderation during an error condition
* Improve the UX and display when comments are temporarily held due to an error
* Make the Check For Spam button force a retry when comments are held due to an error
* Handle errors caused by an invalid key
* Don't retry comments that are too old
* Improve error messages when verifying an API key

= 2.5.5 =
*Release Date - 11th January, 2012*

* Add nonce check for comment author URL remove action
* Fix the settings link

= 2.5.4 =
*Release Date - 5th January, 2012*

* Limit Akismet CSS and Javascript loading in wp-admin to just the pages that need it
* Added author URL quick removal functionality
* Added mShot preview on Author URL hover
* Added empty index.php to prevent directory listing
* Move wp-admin menu items under Jetpack, if it is installed
* Purge old Akismet comment meta data, default of 15 days

= 2.5.3 =
*Release Date - 8th Febuary, 2011*

* Specify the license is GPL v2 or later
* Fix a bug that could result in orphaned commentmeta entries
* Include hotfix for WordPress 3.0.5 filter issue

= 2.5.2 =
*Release Date - 14th January, 2011*

* Properly format the comment count for author counts
* Look for super admins on multisite installs when looking up user roles
* Increase the HTTP request timeout
* Removed padding for author approved count
* Fix typo in function name
* Set Akismet stats iframe height to fixed 2500px.  Better to have one tall scroll bar than two side by side.

= 2.5.1 =
*Release Date - 17th December, 2010*

* Fix a bug that caused the "Auto delete" option to fail to discard comments correctly
* Remove the comment nonce form field from the 'Akismet Configuration' page in favor of using a filter, akismet_comment_nonce
* Fixed padding bug in "author" column of posts screen
* Added margin-top to "cleared by ..." badges on dashboard
* Fix possible error when calling akismet_cron_recheck()
* Fix more PHP warnings
* Clean up XHTML warnings for comment nonce
* Fix for possible condition where scheduled comment re-checks could get stuck
* Clean up the comment meta details after deleting a comment
* Only show the status badge if the comment status has been changed by someone/something other than Akismet
* Show a 'History' link in the row-actions
* Translation fixes
* Reduced font-size on author name
* Moved "flagged by..." notification to top right corner of comment container and removed heavy styling
* Hid "flagged by..." notification while on dashboard

= 2.5.0 =
*Release Date - 7th December, 2010*

* Track comment actions under 'Akismet Status' on the edit comment screen
* Fix a few remaining deprecated function calls ( props Mike Glendinning )
* Use HTTPS for the stats IFRAME when wp-admin is using HTTPS
* Use the WordPress HTTP class if available
* Move the admin UI code to a separate file, only loaded when needed
* Add cron retry feature, to replace the old connectivity check
* Display Akismet status badge beside each comment
* Record history for each comment, and display it on the edit page
* Record the complete comment as originally submitted in comment_meta, to use when reporting spam and ham
* Highlight links in comment content
* New option, "Show the number of comments you've approved beside each comment author."
* New option, "Use a nonce on the comment form."

= 2.4.0 =
*Release Date - 23rd August, 2010*

* Spell out that the license is GPLv2
* Fix PHP warnings
* Fix WordPress deprecated function calls
* Fire the delete_comment action when deleting comments
* Move code specific for older WP versions to legacy.php
* General code clean up

= 2.3.0 =
*Release Date - 5th June, 2010*

* Fix "Are you sure" nonce message on config screen in WPMU
* Fix XHTML compliance issue in sidebar widget
* Change author link; remove some old references to WordPress.com accounts
* Localize the widget title (core ticket #13879)

= 2.2.9 =
*Release Date - 2nd June, 2010*

* Eliminate a potential conflict with some plugins that may cause spurious reports

= 2.2.8 =
*Release Date - 27th May, 2010*

* Fix bug in initial comment check for ipv6 addresses
* Report comments as ham when they are moved from spam to moderation
* Report comments as ham when clicking undo after spam
* Use transition_comment_status action when available instead of older actions for spam/ham submissions
* Better diagnostic messages when PHP network functions are unavailable
* Better handling of comments by logged-in users

= 2.2.7 =
*Release Date - 17th December, 2009*

* Add a new AKISMET_VERSION constant
* Reduce the possibility of over-counting spam when another spam filter plugin is in use
* Disable the connectivity check when the API key is hard-coded for WPMU

= 2.2.6 =
*Release Date - 20th July, 2009*

* Fix a global warning introduced in 2.2.5
* Add changelog and additional readme.txt tags
* Fix an array conversion warning in some versions of PHP
* Support a new WPCOM_API_KEY constant for easier use with WordPress MU

= 2.2.5 =
*Release Date - 13th July, 2009*

* Include a new Server Connectivity diagnostic check, to detect problems caused by firewalls

= 2.2.4 =
*Release Date - 3rd June, 2009*

* Fixed a key problem affecting the stats feature in WordPress MU
* Provide additional blog information in Akismet API calls
uyarreklam.com.tr/httpdocs/wp-content/plugins/woocommerce/packages/action-scheduler/changelog.txt000064400000013327151546161560032451 0ustar00var/www/vhosts*** Changelog ***

= 3.6.3 - 2023-09-13 =
* Use `_doing_it_wrong` in initialization check.

= 3.6.2 - 2023-08-09 =
* Add guidance about passing arguments.
* Atomic option locking.
* Improve bulk delete handling.
* Include database error in the exception message.
* Tweak - WP 6.3 compatibility.

= 3.6.1 - 2023-06-14 =
* Document new optional `$priority` arg for various API functions.
* Document the new `--exclude-groups` WP CLI option.
* Document the new `action_scheduler_init` hook.
* Ensure actions within each claim are executed in the expected order.
* Fix incorrect text domain.
* Remove SHOW TABLES usage when checking if tables exist.

= 3.6.0 - 2023-05-10 =
* Add $unique parameter to function signatures.
* Add a cast-to-int for extra safety before forming new DateTime object.
* Add a hook allowing exceptions for consistently failing recurring actions.
* Add action priorities.
* Add init hook.
* Always raise the time limit.
* Bump minimatch from 3.0.4 to 3.0.8.
* Bump yaml from 2.2.1 to 2.2.2.
* Defensive coding relating to gaps in declared schedule types.
* Do not process an action if it cannot be set to `in-progress`.
* Filter view labels (status names) should be translatable | #919.
* Fix WPCLI progress messages.
* Improve data-store initialization flow.
* Improve error handling across all supported PHP versions.
* Improve logic for flushing the runtime cache.
* Support exclusion of multiple groups.
* Update lint-staged and Node/NPM requirements.
* add CLI clean command.
* add CLI exclude-group filter.
* exclude past-due from list table all filter count.
* throwing an exception if as_schedule_recurring_action interval param is not of type integer.

= 3.5.4 - 2023-01-17 =
* Add pre filters during action registration.
* Async scheduling.
* Calculate timeouts based on total actions.
* Correctly order the parameters for `ActionScheduler_ActionFactory`'s calls to `single_unique`.
* Fetch action in memory first before releasing claim to avoid deadlock.
* PHP 8.2: declare property to fix creation of dynamic property warning.
* PHP 8.2: fix "Using ${var} in strings is deprecated, use {$var} instead".
* Prevent `undefined variable` warning for `$num_pastdue_actions`.

= 3.5.3 - 2022-11-09 =
* Query actions with partial match.

= 3.5.2 - 2022-09-16 =
* Fix - erroneous 3.5.1 release.

= 3.5.1 - 2022-09-13 =
* Maintenance on A/S docs.
* fix: PHP 8.2 deprecated notice.

= 3.5.0 - 2022-08-25 =
* Add - The active view link within the "Tools > Scheduled Actions" screen is now clickable.
* Add - A warning when there are past-due actions.
* Enhancement - Added the ability to schedule unique actions via an atomic operation.
* Enhancement - Improvements to cache invalidation when processing batches (when running on WordPress 6.0+).
* Enhancement - If a recurring action is found to be consistently failing, it will stop being rescheduled.
* Enhancement - Adds a new "Past Due" view to the scheduled actions list table.

= 3.4.2 - 2022-06-08 =
* Fix - Change the include for better linting.
* Fix - update: Added Action scheduler completed action hook.

= 3.4.1 - 2022-05-24 =
* Fix - Change the include for better linting.
* Fix - Fix the documented return type.

= 3.4.0 - 2021-10-29 =
* Enhancement - Number of items per page can now be set for the Scheduled Actions view (props @ovidiul). #771
* Fix - Do not lower the max_execution_time if it is already set to 0 (unlimited) (props @barryhughes). #755
* Fix - Avoid triggering autoloaders during the version resolution process (props @olegabr). #731 & #776
* Dev - ActionScheduler_wcSystemStatus PHPCS fixes (props @ovidiul). #761
* Dev - ActionScheduler_DBLogger.php PHPCS fixes (props @ovidiul). #768
* Dev - Fixed phpcs for ActionScheduler_Schedule_Deprecated (props @ovidiul). #762
* Dev - Improve actions table indicies (props @glagonikas). #774 & #777
* Dev - PHPCS fixes for ActionScheduler_DBStore.php (props @ovidiul). #769 & #778
* Dev - PHPCS Fixes for ActionScheduler_Abstract_ListTable (props @ovidiul). #763 & #779
* Dev - Adds new filter action_scheduler_claim_actions_order_by to allow tuning of the claim query (props @glagonikas). #773
* Dev - PHPCS fixes for ActionScheduler_WpPostStore class (props @ovidiul). #780

= 3.3.0 - 2021-09-15 =
* Enhancement - Adds as_has_scheduled_action() to provide a performant way to test for existing actions. #645
* Fix - Improves compatibility with environments where NO_ZERO_DATE is enabled. #519
* Fix - Adds safety checks to guard against errors when our database tables cannot be created. #645
* Dev - Now supports queries that use multiple statuses. #649
* Dev - Minimum requirements for WordPress and PHP bumped (to 5.2 and 5.6 respectively). #723

= 3.2.1 - 2021-06-21 =
* Fix - Add extra safety/account for different versions of AS and different loading patterns. #714
* Fix - Handle hidden columns (Tools → Scheduled Actions) | #600.

= 3.2.0 - 2021-06-03 =
* Fix - Add "no ordering" option to as_next_scheduled_action().
* Fix - Add secondary scheduled date checks when claiming actions (DBStore) | #634.
* Fix - Add secondary scheduled date checks when claiming actions (wpPostStore) | #634.
* Fix - Adds a new index to the action table, reducing the potential for deadlocks (props: @glagonikas).
* Fix - Fix unit tests infrastructure and adapt tests to PHP 8.
* Fix - Identify in-use data store.
* Fix - Improve test_migration_is_scheduled.
* Fix - PHP notice on list table.
* Fix - Speed up clean up and batch selects.
* Fix - Update pending dependencies.
* Fix - [PHP 8.0] Only pass action arg values through to do_action_ref_array().
* Fix - [PHP 8] Set the PHP version to 7.1 in composer.json for PHP 8 compatibility.
* Fix - add is_initialized() to docs.
* Fix - fix file permissions.
* Fix - fixes #664 by replacing __ with esc_html__.

= 3.1.6 - 2020-05-12 =
* Change log starts.
httpdocs/wp-content/plugins/all-in-one-seo-pack/vendor/woocommerce/action-scheduler/changelog.txt000064400000021307151547375540035626 0ustar00var/www/vhosts/uyarreklam.com.tr*** Changelog ***

= 3.9.2 - 2025-02-03 =
* Fixed fatal errors by moving version info methods to a new class and deprecating conflicting ones in ActionScheduler_Versions

= 3.9.1 - 2025-01-21 =
* A number of new WP CLI commands have been added, making it easier to manage actions in the terminal and from scripts.
* New wp action-scheduler source command to help determine how Action Scheduler is being loaded.
* Additional information about the active instance of Action Scheduler is now available in the Help pull-down drawer.
* Make some other nullable parameters explicitly nullable.
* Set option value to `no` rather than deleting.

= 3.9.0 - 2024-11-14 =  
* Minimum required version of PHP is now 7.1.  
* Performance improvements for the `as_pending_actions_due()` function.  
* Existing filter hook `action_scheduler_claim_actions_order_by` enhanced to provide callbacks with additional information.  
* Improved compatibility with PHP 8.4, specifically by making implicitly nullable parameters explicitly nullable.  
* A large number of coding standards-enhancements, to help reduce friction when submitting plugins to marketplaces and plugin directories. Special props @crstauf for this effort.  
* Minor documentation tweaks and improvements.

= 3.8.2 - 2024-09-12 =
* Add missing parameter to the `pre_as_enqueue_async_action` hook.
* Bump minimum PHP version to 7.0.
* Bump minimum WordPress version to 6.4.
* Make the batch size adjustable during processing.

= 3.8.1 - 2024-06-20 =
* Fix typos.
* Improve the messaging in our unidentified action exceptions.

= 3.8.0 - 2024-05-22 =
* Documentation - Fixed typos in perf.md.
* Update - We now require WordPress 6.3 or higher.
* Update - We now require PHP 7.0 or higher.

= 3.7.4 - 2024-04-05 =
* Give a clear description of how the $unique parameter works.
* Preserve the tab field if set.
* Tweak - WP 6.5 compatibility.

= 3.7.3 - 2024-03-20 =
* Do not iterate over all of GET when building form in list table.
* Fix a few issues reported by PCP (Plugin Check Plugin).
* Try to save actions as unique even when the store doesn't support it.
* Tweak - WP 6.4 compatibility.
* Update "Tested up to" tag to WordPress 6.5.
* update version in package-lock.json.

= 3.7.2 - 2024-02-14 =
* No longer user variables in `_n()` translation function.

= 3.7.1 - 2023-12-13 =
* update semver to 5.7.2 because of a security vulnerability in 5.7.1.

= 3.7.0 - 2023-11-20 =
* Important: starting with this release, Action Scheduler follows an L-2 version policy (WordPress, and consequently PHP).
* Add extended indexes for hook_status_scheduled_date_gmt and status_scheduled_date_gmt.
* Catch and log exceptions thrown when actions can't be created, e.g. under a corrupt database schema.
* Tweak - WP 6.4 compatibility.
* Update unit tests for upcoming dependency version policy.
* make sure hook action_scheduler_failed_execution can access original exception object.
* mention dependency version policy in usage.md.

= 3.6.4 - 2023-10-11 =
* Performance improvements when bulk cancelling actions.
* Dev-related fixes.

= 3.6.3 - 2023-09-13 =
* Use `_doing_it_wrong` in initialization check.

= 3.6.2 - 2023-08-09 =
* Add guidance about passing arguments.
* Atomic option locking.
* Improve bulk delete handling.
* Include database error in the exception message.
* Tweak - WP 6.3 compatibility.

= 3.6.1 - 2023-06-14 =
* Document new optional `$priority` arg for various API functions.
* Document the new `--exclude-groups` WP CLI option.
* Document the new `action_scheduler_init` hook.
* Ensure actions within each claim are executed in the expected order.
* Fix incorrect text domain.
* Remove SHOW TABLES usage when checking if tables exist.

= 3.6.0 - 2023-05-10 =
* Add $unique parameter to function signatures.
* Add a cast-to-int for extra safety before forming new DateTime object.
* Add a hook allowing exceptions for consistently failing recurring actions.
* Add action priorities.
* Add init hook.
* Always raise the time limit.
* Bump minimatch from 3.0.4 to 3.0.8.
* Bump yaml from 2.2.1 to 2.2.2.
* Defensive coding relating to gaps in declared schedule types.
* Do not process an action if it cannot be set to `in-progress`.
* Filter view labels (status names) should be translatable | #919.
* Fix WPCLI progress messages.
* Improve data-store initialization flow.
* Improve error handling across all supported PHP versions.
* Improve logic for flushing the runtime cache.
* Support exclusion of multiple groups.
* Update lint-staged and Node/NPM requirements.
* add CLI clean command.
* add CLI exclude-group filter.
* exclude past-due from list table all filter count.
* throwing an exception if as_schedule_recurring_action interval param is not of type integer.

= 3.5.4 - 2023-01-17 =
* Add pre filters during action registration.
* Async scheduling.
* Calculate timeouts based on total actions.
* Correctly order the parameters for `ActionScheduler_ActionFactory`'s calls to `single_unique`.
* Fetch action in memory first before releasing claim to avoid deadlock.
* PHP 8.2: declare property to fix creation of dynamic property warning.
* PHP 8.2: fix "Using ${var} in strings is deprecated, use {$var} instead".
* Prevent `undefined variable` warning for `$num_pastdue_actions`.

= 3.5.3 - 2022-11-09 =
* Query actions with partial match.

= 3.5.2 - 2022-09-16 =
* Fix - erroneous 3.5.1 release.

= 3.5.1 - 2022-09-13 =
* Maintenance on A/S docs.
* fix: PHP 8.2 deprecated notice.

= 3.5.0 - 2022-08-25 =
* Add - The active view link within the "Tools > Scheduled Actions" screen is now clickable.
* Add - A warning when there are past-due actions.
* Enhancement - Added the ability to schedule unique actions via an atomic operation.
* Enhancement - Improvements to cache invalidation when processing batches (when running on WordPress 6.0+).
* Enhancement - If a recurring action is found to be consistently failing, it will stop being rescheduled.
* Enhancement - Adds a new "Past Due" view to the scheduled actions list table.

= 3.4.2 - 2022-06-08 =
* Fix - Change the include for better linting.
* Fix - update: Added Action scheduler completed action hook.

= 3.4.1 - 2022-05-24 =
* Fix - Change the include for better linting.
* Fix - Fix the documented return type.

= 3.4.0 - 2021-10-29 =
* Enhancement - Number of items per page can now be set for the Scheduled Actions view (props @ovidiul). #771
* Fix - Do not lower the max_execution_time if it is already set to 0 (unlimited) (props @barryhughes). #755
* Fix - Avoid triggering autoloaders during the version resolution process (props @olegabr). #731 & #776
* Dev - ActionScheduler_wcSystemStatus PHPCS fixes (props @ovidiul). #761
* Dev - ActionScheduler_DBLogger.php PHPCS fixes (props @ovidiul). #768
* Dev - Fixed phpcs for ActionScheduler_Schedule_Deprecated (props @ovidiul). #762
* Dev - Improve actions table indices (props @glagonikas). #774 & #777
* Dev - PHPCS fixes for ActionScheduler_DBStore.php (props @ovidiul). #769 & #778
* Dev - PHPCS Fixes for ActionScheduler_Abstract_ListTable (props @ovidiul). #763 & #779
* Dev - Adds new filter action_scheduler_claim_actions_order_by to allow tuning of the claim query (props @glagonikas). #773
* Dev - PHPCS fixes for ActionScheduler_WpPostStore class (props @ovidiul). #780

= 3.3.0 - 2021-09-15 =
* Enhancement - Adds as_has_scheduled_action() to provide a performant way to test for existing actions. #645
* Fix - Improves compatibility with environments where NO_ZERO_DATE is enabled. #519
* Fix - Adds safety checks to guard against errors when our database tables cannot be created. #645
* Dev - Now supports queries that use multiple statuses. #649
* Dev - Minimum requirements for WordPress and PHP bumped (to 5.2 and 5.6 respectively). #723

= 3.2.1 - 2021-06-21 =
* Fix - Add extra safety/account for different versions of AS and different loading patterns. #714
* Fix - Handle hidden columns (Tools → Scheduled Actions) | #600.

= 3.2.0 - 2021-06-03 =
* Fix - Add "no ordering" option to as_next_scheduled_action().
* Fix - Add secondary scheduled date checks when claiming actions (DBStore) | #634.
* Fix - Add secondary scheduled date checks when claiming actions (wpPostStore) | #634.
* Fix - Adds a new index to the action table, reducing the potential for deadlocks (props: @glagonikas).
* Fix - Fix unit tests infrastructure and adapt tests to PHP 8.
* Fix - Identify in-use data store.
* Fix - Improve test_migration_is_scheduled.
* Fix - PHP notice on list table.
* Fix - Speed up clean up and batch selects.
* Fix - Update pending dependencies.
* Fix - [PHP 8.0] Only pass action arg values through to do_action_ref_array().
* Fix - [PHP 8] Set the PHP version to 7.1 in composer.json for PHP 8 compatibility.
* Fix - add is_initialized() to docs.
* Fix - fix file permissions.
* Fix - fixes #664 by replacing __ with esc_html__.

= 3.1.6 - 2020-05-12 =
* Change log starts.
wp-content/plugins/broken-link-checker-seo/vendor/woocommerce/action-scheduler/changelog.txt000064400000021307151547630240036563 0ustar00var/www/vhosts/uyarreklam.com.tr/httpdocs*** Changelog ***

= 3.9.2 - 2025-02-03 =
* Fixed fatal errors by moving version info methods to a new class and deprecating conflicting ones in ActionScheduler_Versions

= 3.9.1 - 2025-01-21 =
* A number of new WP CLI commands have been added, making it easier to manage actions in the terminal and from scripts.
* New wp action-scheduler source command to help determine how Action Scheduler is being loaded.
* Additional information about the active instance of Action Scheduler is now available in the Help pull-down drawer.
* Make some other nullable parameters explicitly nullable.
* Set option value to `no` rather than deleting.

= 3.9.0 - 2024-11-14 =  
* Minimum required version of PHP is now 7.1.  
* Performance improvements for the `as_pending_actions_due()` function.  
* Existing filter hook `action_scheduler_claim_actions_order_by` enhanced to provide callbacks with additional information.  
* Improved compatibility with PHP 8.4, specifically by making implicitly nullable parameters explicitly nullable.  
* A large number of coding standards-enhancements, to help reduce friction when submitting plugins to marketplaces and plugin directories. Special props @crstauf for this effort.  
* Minor documentation tweaks and improvements.

= 3.8.2 - 2024-09-12 =
* Add missing parameter to the `pre_as_enqueue_async_action` hook.
* Bump minimum PHP version to 7.0.
* Bump minimum WordPress version to 6.4.
* Make the batch size adjustable during processing.

= 3.8.1 - 2024-06-20 =
* Fix typos.
* Improve the messaging in our unidentified action exceptions.

= 3.8.0 - 2024-05-22 =
* Documentation - Fixed typos in perf.md.
* Update - We now require WordPress 6.3 or higher.
* Update - We now require PHP 7.0 or higher.

= 3.7.4 - 2024-04-05 =
* Give a clear description of how the $unique parameter works.
* Preserve the tab field if set.
* Tweak - WP 6.5 compatibility.

= 3.7.3 - 2024-03-20 =
* Do not iterate over all of GET when building form in list table.
* Fix a few issues reported by PCP (Plugin Check Plugin).
* Try to save actions as unique even when the store doesn't support it.
* Tweak - WP 6.4 compatibility.
* Update "Tested up to" tag to WordPress 6.5.
* update version in package-lock.json.

= 3.7.2 - 2024-02-14 =
* No longer user variables in `_n()` translation function.

= 3.7.1 - 2023-12-13 =
* update semver to 5.7.2 because of a security vulnerability in 5.7.1.

= 3.7.0 - 2023-11-20 =
* Important: starting with this release, Action Scheduler follows an L-2 version policy (WordPress, and consequently PHP).
* Add extended indexes for hook_status_scheduled_date_gmt and status_scheduled_date_gmt.
* Catch and log exceptions thrown when actions can't be created, e.g. under a corrupt database schema.
* Tweak - WP 6.4 compatibility.
* Update unit tests for upcoming dependency version policy.
* make sure hook action_scheduler_failed_execution can access original exception object.
* mention dependency version policy in usage.md.

= 3.6.4 - 2023-10-11 =
* Performance improvements when bulk cancelling actions.
* Dev-related fixes.

= 3.6.3 - 2023-09-13 =
* Use `_doing_it_wrong` in initialization check.

= 3.6.2 - 2023-08-09 =
* Add guidance about passing arguments.
* Atomic option locking.
* Improve bulk delete handling.
* Include database error in the exception message.
* Tweak - WP 6.3 compatibility.

= 3.6.1 - 2023-06-14 =
* Document new optional `$priority` arg for various API functions.
* Document the new `--exclude-groups` WP CLI option.
* Document the new `action_scheduler_init` hook.
* Ensure actions within each claim are executed in the expected order.
* Fix incorrect text domain.
* Remove SHOW TABLES usage when checking if tables exist.

= 3.6.0 - 2023-05-10 =
* Add $unique parameter to function signatures.
* Add a cast-to-int for extra safety before forming new DateTime object.
* Add a hook allowing exceptions for consistently failing recurring actions.
* Add action priorities.
* Add init hook.
* Always raise the time limit.
* Bump minimatch from 3.0.4 to 3.0.8.
* Bump yaml from 2.2.1 to 2.2.2.
* Defensive coding relating to gaps in declared schedule types.
* Do not process an action if it cannot be set to `in-progress`.
* Filter view labels (status names) should be translatable | #919.
* Fix WPCLI progress messages.
* Improve data-store initialization flow.
* Improve error handling across all supported PHP versions.
* Improve logic for flushing the runtime cache.
* Support exclusion of multiple groups.
* Update lint-staged and Node/NPM requirements.
* add CLI clean command.
* add CLI exclude-group filter.
* exclude past-due from list table all filter count.
* throwing an exception if as_schedule_recurring_action interval param is not of type integer.

= 3.5.4 - 2023-01-17 =
* Add pre filters during action registration.
* Async scheduling.
* Calculate timeouts based on total actions.
* Correctly order the parameters for `ActionScheduler_ActionFactory`'s calls to `single_unique`.
* Fetch action in memory first before releasing claim to avoid deadlock.
* PHP 8.2: declare property to fix creation of dynamic property warning.
* PHP 8.2: fix "Using ${var} in strings is deprecated, use {$var} instead".
* Prevent `undefined variable` warning for `$num_pastdue_actions`.

= 3.5.3 - 2022-11-09 =
* Query actions with partial match.

= 3.5.2 - 2022-09-16 =
* Fix - erroneous 3.5.1 release.

= 3.5.1 - 2022-09-13 =
* Maintenance on A/S docs.
* fix: PHP 8.2 deprecated notice.

= 3.5.0 - 2022-08-25 =
* Add - The active view link within the "Tools > Scheduled Actions" screen is now clickable.
* Add - A warning when there are past-due actions.
* Enhancement - Added the ability to schedule unique actions via an atomic operation.
* Enhancement - Improvements to cache invalidation when processing batches (when running on WordPress 6.0+).
* Enhancement - If a recurring action is found to be consistently failing, it will stop being rescheduled.
* Enhancement - Adds a new "Past Due" view to the scheduled actions list table.

= 3.4.2 - 2022-06-08 =
* Fix - Change the include for better linting.
* Fix - update: Added Action scheduler completed action hook.

= 3.4.1 - 2022-05-24 =
* Fix - Change the include for better linting.
* Fix - Fix the documented return type.

= 3.4.0 - 2021-10-29 =
* Enhancement - Number of items per page can now be set for the Scheduled Actions view (props @ovidiul). #771
* Fix - Do not lower the max_execution_time if it is already set to 0 (unlimited) (props @barryhughes). #755
* Fix - Avoid triggering autoloaders during the version resolution process (props @olegabr). #731 & #776
* Dev - ActionScheduler_wcSystemStatus PHPCS fixes (props @ovidiul). #761
* Dev - ActionScheduler_DBLogger.php PHPCS fixes (props @ovidiul). #768
* Dev - Fixed phpcs for ActionScheduler_Schedule_Deprecated (props @ovidiul). #762
* Dev - Improve actions table indices (props @glagonikas). #774 & #777
* Dev - PHPCS fixes for ActionScheduler_DBStore.php (props @ovidiul). #769 & #778
* Dev - PHPCS Fixes for ActionScheduler_Abstract_ListTable (props @ovidiul). #763 & #779
* Dev - Adds new filter action_scheduler_claim_actions_order_by to allow tuning of the claim query (props @glagonikas). #773
* Dev - PHPCS fixes for ActionScheduler_WpPostStore class (props @ovidiul). #780

= 3.3.0 - 2021-09-15 =
* Enhancement - Adds as_has_scheduled_action() to provide a performant way to test for existing actions. #645
* Fix - Improves compatibility with environments where NO_ZERO_DATE is enabled. #519
* Fix - Adds safety checks to guard against errors when our database tables cannot be created. #645
* Dev - Now supports queries that use multiple statuses. #649
* Dev - Minimum requirements for WordPress and PHP bumped (to 5.2 and 5.6 respectively). #723

= 3.2.1 - 2021-06-21 =
* Fix - Add extra safety/account for different versions of AS and different loading patterns. #714
* Fix - Handle hidden columns (Tools → Scheduled Actions) | #600.

= 3.2.0 - 2021-06-03 =
* Fix - Add "no ordering" option to as_next_scheduled_action().
* Fix - Add secondary scheduled date checks when claiming actions (DBStore) | #634.
* Fix - Add secondary scheduled date checks when claiming actions (wpPostStore) | #634.
* Fix - Adds a new index to the action table, reducing the potential for deadlocks (props: @glagonikas).
* Fix - Fix unit tests infrastructure and adapt tests to PHP 8.
* Fix - Identify in-use data store.
* Fix - Improve test_migration_is_scheduled.
* Fix - PHP notice on list table.
* Fix - Speed up clean up and batch selects.
* Fix - Update pending dependencies.
* Fix - [PHP 8.0] Only pass action arg values through to do_action_ref_array().
* Fix - [PHP 8] Set the PHP version to 7.1 in composer.json for PHP 8 compatibility.
* Fix - add is_initialized() to docs.
* Fix - fix file permissions.
* Fix - fixes #664 by replacing __ with esc_html__.

= 3.1.6 - 2020-05-12 =
* Change log starts.