== Changelog ==

= 2.33.1 – 31 July 2025 =
* Layout Directory: Fixed pagination and search functionality.
* Layouts: Fixed an issue with cloning layouts.
* Layouts: Improved security by checking nonce earlier when fetching prebuilt layouts.

= 2.33.0 – 29 July 2025 =
* Layout Directory: Added category and niche filtering, search functionality, and pagination support.
* Mode Switcher: Hidden when parent dialog exists for cleaner interface.
* WPML: Updated configuration for improved compatibility.

= 2.32.1 – 29 June 2025 =
* Mode Switcher: Restored mobile CSS hide functionality for improved responsive behavior.
* Mode Switcher: Removed legacy CSS and moved .so-mode to .so-toolbar for cleaner structure.
* Widget Dialog: Removed focus delay and improved default field handling for better user experience.
* Fixed button secondary color scheme inheritance for consistent styling.
* Fixed widget editable title class for proper functionality.
* Resolved LESS linting issues for improved code quality.

= 2.32.0 – 13 June 2025 =
* Background Image: Added Alt Text setting for improved accessibility.
* Layout Block: Added additional PanelsData check and prevented potential JavaScript null quirk.
* Layout Builder: Fixed potential object.keys issue when removing all blocks.
* Polylang: Prevented undefined sync warning.
* Improved security with enhanced parameter sanitization across admin features.
* Code Quality: Updated WordPress PHP Coding Standards compliance.

= 2.31.8 – 12 May 2025 =
* Border Styles: Improved handling of multiple border values.
* Multi-select: Fixed type error in field handling.
* Polylang: Improved compatibility with WPML by loading translation features only when needed.
* Code Quality: Updated PHPCS configuration.

= 2.31.7 – 01 May 2025 =
* Fixed an issue with encoded quotes when editing widget titles.
* Resolved Select2 CSS not outputting correctly.

= 2.31.6 – 19 April 2025 =
* Import: Closed all containers in imported layouts to ensure consistent layout rendering.

= 2.31.5 – 26 February 2025 =
* Improved Legacy Bundled Widget handling.
* Removed `wp_targeted_link_rel` from preview generation.
* Added `siteorigin_panels_compat_events_manager` filter to disable Events Manager compatibility.

= 2.31.4 – 02 February 2025 =
* Added Compatibility for Events Manager.
* AIOSEO: Loaded plugin widgets.
* Refactored SEO plugin compatibility and restored Yoast Block Editor content parsing.
* Layout Directory: Resolved incorrect empty search after search query.
* WPML: Adjusted editor labels for the WPML 4.7 release.

= 2.31.3 – 20 December 2024 =
* WPML: Improved compatibility by excluding `panels_data` field from automatic translation handling.
* Prebuilt Layouts: Added text/html to accepted mime types for layout exports.
* Added compatibility with Popup Maker to ensure correct layout rendering in popups.
* Row Labels: Improved handling and display consistency.

= 2.31.2 – 14 December 2024 =
* Improved post type handling.
* Select2: Improved input alignment.

= 2.31.1 – 11 December 2024 =
* Layouts Block: Prevented double toolbar when in development mode.
* Improved row, cell, and widget attribute handling.

= 2.31.0 – 22 November 2024 =
* Styles Fields: Added `multi-select`.
* Admin Interface: Styling improvements to the Edit Row modal.
* Layouts Block: General styling improvements and fixes.

= 2.30.0 – 26 October 2024 =
* Image Overlay: Prevent iOS fixed background display issues.
* Styles Settings: Converted Border Thickness to a multi-measurement field.
* Styles Settings: Ensured color picker field and clear button are on a dedicated line.

= 2.29.22 – 30 September 2024 =
* Layout Block: Removed content filter attributes from the front-end.

= 2.29.21 – 17 September 2024 =
* Prebuilt Local Layouts: Resolved a potential error.
* Prebuilt Local Layouts: Restricted layout files to JSON.

= 2.29.20 – 08 August 2024 =
* Rank Math: Resolved content analysis issue when multiple blocks in use.

= 2.29.19 – 21 July 2024 =
* Further improvements for attribute name handling.
* Layout Directory: Resolved an issue with fetching page two.

= 2.29.18 – 29 June 2024 =
* Improved attribute name handling.
* Layout Block: Improved preview updating.
* Widget Groups: Resolved a potential `TypeError`.
* Vantage Compatibility: Resolved a potential `TypeError`.

= 2.29.17 – 15 June 2024 =
* Layout Builder: Default the modal icon to "Cog".
* Layouts Block: Added an additional check for clearing potential block errors.
* Row Overlays: Resolved a potential Column/Widget video content overlap.
* Row Cell Preview: Adjusted the percentage symbol placement.
* Updated escaping functions to use translatable versions where needed.
* Updated SiteOrigin Installer.
* Number Style Field: Added min/max support.

= 2.29.16 – 13 May 2024 =
* Adjusted Add Widget modal sidebar link order and display.
* Restored WP Events Manager compatibility.
* Resolved fallback shortcode decoding issue.
* Added Layout Directory caching for better performance.
* Increased required PHP version to `7.0.0`.
* Developer: Improved `panelsOptions` translation handling.

= 2.29.15 – 27 April 2024 =
* Layout Block: Further improvements to preview functionality and performance.
* Admin Area: Update to ensure Classic Editor notice is translatable.

= 2.29.14 – 26 April 2024 =
* Layout Block: Restored preview functionality.

= 2.29.13 – 21 April 2024 =
* Rank Math SEO Compatibility: Resolved dependency error.

= 2.29.12 – 19 April 2024 =
* Layout Block: Improved preview.
* Layout Block: Fix repeated rendering when switching to editor.
* Layout Block: Restored data integration for SEO content analysis.
* Post Content Widget: Added "Content" option.

= 2.29.11 – 31 March 2024 =
* Post Content Widget: Fixed post featured image output.
* Post Content Widget: Remove unused content and improved title output.
* Block-Based Widgets Editor: Resolved JavaScript error.
* Legacy PB Widgets: Resolved lessphp notices.

= 2.29.10 - 29 March 2024 =
* SiteOrigin Layout Block: Update to prevent a potential issue during rendering and saving.
* Legacy Widgets: Update to resolve styles not outputting correctly.
* Excerpt Generation: Update to prevent potential warnings. Expanded the list of supported widgets.
* Recommended Widgets: Update to ensure the tab doesn't display if there are no widgets to recommend.
* Resolved column preset sizes display issue.
* Sortable: Update to prevent third-party plugins from misaligning text.

= 2.29.9 - 23 March 2024 =
* Layouts: Resolved import error.
* Inline CSS Generation: Resolved inline CSS potentially printing on the site front-end.
* Block Editor: Removed redundant shortcode fallback.

= 2.29.8 - 19 March 2024 =
* Post Loop: Update to allow HTML formatting in the widget title.

= 2.29.7 - 18 March 2024 =
* ACF: Added gallery field support.
* Resolved a potential layout import error.
* Inline Styles: Aligned widget margin value output with non-inline value output.
* Updated the SiteOrigin Installer submodule.
* Added additional data sanitization.

= 2.29.6 - 05 March 2024 =
* Added a dismiss button to the Classic Editor notice in the admin panel.
* Improved saving functionality of the Layouts Block with server-side validation for post types, enhanced rendering, block sanitization methods, and improved functionality for locating layout blocks.
* Ensured that errors are not processed and returned as part of the layout in the Layouts Block.

= 2.29.5 - 16 February 2024 =
* Media Style: Adjust border color to match other fields.
* Background Overlay: Added `border-radius` support.
* Border Radius: Added a context class for additional styling.
* CSS Output Location: Added Block Editor support.
* Inline CSS Styles: Update to apply widget margin directly to the widget.

= 2.29.4 - 19 January 2024 =
* Added compatibility with Pagelayer Templates. The panels filter is selectively enabled or disabled based on template usage.
* Prevented the row overlay from covering widget contents by adjusting CSS rules in `front-flex.less`.
* Developer: Added `siteorigin_panels_data` filter. Allows for the filtering of `$panels_data` when `generate_css` is run.

= 2.29.3 - 03 January 2024 =
* Vantage Theme: Account for unmigrated legacy row layouts.
* Toggle style field accessibility improvements.
* Save mode accessibility improvements.
* Live Editor Redirection: Resolve PHP 8 warning and deprecated notice.
* Color Field: Minor border color adjustment.
* Removed legacy content cache cleanup.

= 2.29.2 - 03 January 2024 =
* Vantage Theme: Prevented a type error if empty rows are present.

= 2.29.1 - 01 January 2024 =
* Vantage Theme: Prevented a potential Full Width Stretched display issue when no padding is set.

= 2.29.0 - 31 December 2023 =
* Layout Block: Defaulted the Layout Block to edit mode when no content is present.
* Row Layout: Merged `Full Width Stretched` & `With Padding Support` settings.
* Renamed Resize Columns to Column Presets and improved responsive behavior.
* Added a Column Presets `Direction` button. Enhances the Column Presets feature by offering an efficient way to reverse the order of columns in a preset layout.
* Improved cell size field accessibility.

= 2.28.0 - 12 November 2023 =
* Column Preset Sizes: Added `Golden Ratio` for two columns.
* Rounded column sizes to two decimal places to prevent display issues.
* Row update to allow for custom overlays.

= 2.27.1 - 09 November 2023 =
* Renamed "Cell" to "Column" throughout the codebase for improved clarity and consistency.
* Updated the "Tested up to" version in the readme.txt file from 6.3 to 6.4.
* Rewrote the usage of Lodash functions in the `siteorigin-panels-layout-block.js` file for better performance and code readability.
* Updated the Installer by changing the subproject commit.

= 2.27.0 - 02 November 2023 =
* Improved user experience of cell resizers in the admin interface with visual enhancements and interaction adjustments.
* Adjusted the spacing in the Color Style Field to improve field consistency.
* Improved the design of the Save Mode Button by aligning them to the right and adding a new visual style for the save mode list.
* Renamed the "Full Width Stretched Padded" setting to "Full Width Stretched With Padding Support" for better description.
* Resolved a jQuery Migrate flag related to the color picker by updating the code to use Array.isArray instead of the deprecated $.isArray function.
* Made adjustments to the styles filter in the admin panel by adding a new parameter current_styles to the apply_filters function call.

= 2.26.2 - 25 October 2023 =
* Added compatibility with SEOPress Content Analysis.
* Developer: Made adjustments to the styles filter in the admin panel. Added a new parameter `current_styles` to the `apply_filters` function call. Also, introduced a new filter `siteorigin_panels_style_field_sanitize_all_` that allows a field to modify other values.

= 2.26.1 - 20 September 2023 =
* Improved handling of a greater number of sizes in the Row Cell Ratio feature.
* Prevented absolute position issues with the background overlay.
* Resolved potential display issue with rows, cells, and widgets that have custom styles.

= 2.26.0 - 16 September 2023 =
* Added Inline Widget Saving: Click the two vertical dots next to the widget Done button to change modes.
* Row Cell Ratio: Improved styling, layout, and functionality.
* Color Field: Improved spacing on smaller displays.
* Updated FitVids.
* Switched CSS container `var` to `public.
* PHP formatting improvements.

= 2.25.3 - 26 August 2023 =
* Fixed box shadow related settings. Added missing `break` statement in the `styles-admin.php` file for better code structure and readability.
* Allowed fields that store arrays to have a `0` index, enhancing the functionality of the Advanced Custom Fields (ACF) compatibility.
* Removed the check for the allowed state in the SiteOrigin Premium Copy Paste feature, improving cross-domain copy and paste functionality.
* Removed extra spacing from the WordPress color picker in the admin.less file for cleaner UI.

= 2.25.2 - 13 August 2023 =
* Updated the Build submodule.
* Excluded the standalone updater from SiteOrigin Installer.

= 2.25.1 - 09 August 2023 =
* Advanced Custom Fields: Added support for multiple options.
* Inline Styles: Resolved an issue with unexpected widget margins when custom margins are set.
* Fixed an issue with saving settings in the SiteOrigin Installer.
* Updated the "Tested up to" version in the readme.txt file from 6.2 to 6.3.

= 2.25.0 - 13 July 2023 =
* Added "Block Editor Layout Block Quick Add Button" setting to display the "Add SiteOrigin Layout Block" quick add button in the Block Editor.
* Added "Enable SiteOrigin Installer" setting to display the SiteOrigin Installer admin menu item.
* Updated SiteOrigin Installer.
* Resolved sizing issues in row layouts.
* Improved handling of padding in row layouts to prevent potential offset.
* Triggered resize event on load to avoid a situation where the `body` width is incorrect.

= 2.24.0 - 20 June 2023 =
* Row Styles: Improved Border Radius field user interface.
* Resolved `Creation of dynamic property` deprecated notice.
* Minor styling update to SiteOrigin Page Builder News dashboard widget.
* Added SiteOrigin Installer.

= 2.23.0 - 21 May 2023 =
* Row Styles: Added a Full Height setting to the Design section.
* Box Shadow: Resolved potential migration error due to an invalid hex.
* Widget Admin Titles: Improved display of unusually long strings.
* Color Settings: Update to ensure only alpha enabled settings apply opacity to the swatch.
* Page Builder Settings Page: Minor styling update.

= 2.22.1 - 06 May 2023 =
* Inline Styles: Restored tablet and mobile padding.

= 2.22.0 - 05 May 2023 =
* Color Settings: Added alpha channel support which specifies the opacity for a color.
* Styles: Prevented `!important` from being added to tablet and mobile padding.
* Classic Editor: Further SEO plugin compatibility changes on load.

= 2.21.1 - 25 April 2023 =
* Prevented potential new page JavaScript error.

= 2.21.0 - 22 April 2023 =
* Added an Inline Styles setting at `Settings > Page Builder > Layout`. Supports margin, border, and padding.
* Classic Editor: Improved preview markup handling.
* Rank Math: Removed `wp_targeted_link_rel` from sitemap compatibility.
* SEO: Removed widget class requirement.
* Added Cross Domain Copy Paste support.
* PHP coding standards update.

= 2.20.6 - 30 March 2023 =
* Updated Tested up to tag.

= 2.20.5 - 04 March 2023 =
* Excluded some WooCommerce post types from the Page Builder Post Types list.
* Sidebar Emulator: Resolved `Undefined array key "option_name"` warning.
* Removed preview content if `Copy Content` is disabled.
* Developer: Added `siteorigin_panels_add_preview_content` filter.
* Developer: Added `siteorigin_panels_layout_tabs` filter.

= 2.20.4 - 16 January 2023 =
* Prevented potential "Are you sure you want to navigate away." notice.
* Customizer Widgets Block Editor: Fixed Layout Block styling.
* Layouts Directory: Allowed layouts to be named "0".
* Modern Parallax Sliders: Prevented a potential mobile display issue.
* Developer: Prevented `$layout_data` loading if already set.

= 2.20.3 - 29 December 2022 =
* Reverted: Prevented `$layout_data` loading if already set.

= 2.20.2 - 29 December 2022 =
* Styles: Improved `Background Image Display` and `Size` settings conditional display behavior.
* Classic Editor: Prevented potential notice when opening a saved widget.
* Developer: Prevented `$layout_data` loading if already set.
* Developer: Added custom style field type support via `siteorigin_panels_style_field_*`, and `siteorigin_panels_style_field_sanitize_*`.

= 2.20.1 - 09 December 2022 =
* Darkened default cell admin background color.
* Removed `@font-face` query string.
* Altered `siteorigin_panels_url` to better allow different directory names.

= 2.20.0 - 02 December 2022 =
* Styles: Added a row, cell, and widget `Border Thickness` setting.
* Parallax: Resolved `Disable Parallax On Mobile` setting bug.

= 2.19.0 - 22 November 2022 =
* Styles: Added a row, cell, and widget `Background Image Size` setting.

= 2.18.4 - 13 November 2022 =
* Admin Row Colors: Adjusted swatches layout and spacing.

= 2.18.3 - 09 November 2022 =
* Styles: Added viewport units of measurement.
* Updated `Tested up to` tag to 6.1.

= 2.18.2 - 26 October 2022 =
* Restored row re-ordering functionality.

= 2.18.1 - 25 October 2022 =
* Restored admin row background functionality.
* Developer: Added `siteorigin_panels_admin_row_colors_default` to set the default admin row background color.

= 2.18.0 - 22 October 2022 =
* Box Shadow: Added a new `Inset` setting. Inset box shadows appear inside the row, cell, or widget.
* Media Modal: Updated the title to `Choose Media`.
* Developer: Added `siteorigin_panels_admin_row_colors` filter.
* Developer: Added a client side event to allow for widget validation.
* Developer: Accounted for a situation where `$panels_data` is passed as a string containing JSON rather than an array.

= 2.17.0 - 28 August 2022 =
* Row, Cell, and Widget Design Settings: Added Border Radius and Box Shadow settings.

= 2.16.19 - 16 August 2022 =
* Resolved `Uncaught TypeError` Customizer Layout Builder console error.

= 2.16.18 - 10 August 2022 =
* Easy Digital Downloads: Resolved `Add New` button error.
* Resolved a Customizer Layout Builder widget sizing issue.
* Improved `style` tag HTML validation.
* Resolved a potential Panels preview PHP 8.3 type error.

= 2.16.17 - 19 July 2022 =
* Restored Cell `Link Color` and `Link Hover Color` settings.
* Gravity Forms: Added additional check to prevent an unrelated notice.
* Jetpack: Added Copy Post module support.

= 2.16.16 - 09 July 2022 =
* Legacy Layout Engine: Resolved `Undefined index: cell_index` notice.

= 2.16.15 - 27 June 2022 =
* Resolved edge case empty widgets warning.

= 2.16.14 - 19 June 2022 =
* Layout Block: Limited block preview attempts.
* Modern Parallax: Resolved potential choppy scrolling.

= 2.16.13 - 25 May 2022 =
* Updated WordPress `Tested up to` tag.
* Minor PHP formatting improvements.

= 2.16.12 - 22 May 2022 =
* Layout Block: Resolved WP 6.0 styling conflict.
* WP Version Check: Update to check for version body class instead of branch.

= 2.16.11 - 18 April 2022 =
* Widget Descriptions: Resolved a potential error with old SiteOrigin Image Widgets title value set to `false` rather than `null`.

= 2.16.10 - 13 April 2022 =
* Block-Based Widgets Editor: Restored SiteOrigin Layout Block compatibility and other improvements.

= 2.16.9 - 07 April 2022 =
* Layout Block: Fixed JSON layout export file name.
* Developer: Passed `postId` to server when rendering widget form.

= 2.16.8 - 30 March 2022 =
* Improved PHP 8 Compatibility: Replaced `GLOB_BRACE` flag in favor of multiple `glob` functions.
* Developer: Added `siteorigin_panels_output_row` and `siteorigin_panels_output_widget` filters.

= 2.16.7 - 23 March 2022 =
* Improved empty CSS rule check to avoid potential edge cases.

= 2.16.6 - 21 March 2022 =
* Prevented CSS properties outputting with only `px` set as the value.
* WPML: Refined sidebar emulator language path removal.

= 2.16.5 - 06 March 2022 =
* Full-Width Containers Using CSS: Ensured full-width global CSS is only output once.

= 2.16.4 - 19 February 2022 =
* Full-Width Containers Using CSS: Restored normal functionality when Standard or Full-Width rows not present.
* Full-Width Containers Using CSS: Resolved a collapse issue when the browser resolution equals the collapse value.

= 2.16.3 - 14 February 2022 =
* Fixed Background Images: Change to `scroll` on mobile devices. Resolves iOS bug.

= 2.16.2 - 07 February 2022 =
* Added Yoast Video SEO plugin integration.
* Restored content analysis functionality for newer Yoast SEO versions.

= 2.16.1 - 26 January 2022 =
* Sidebar Emulator: Accounted for a potential notice when setting widget ID.
* Updated the `Tested up to tag` to `5.9`.

= 2.16.0 - 04 January 2022 =
* Added a new global `Mobile Widget Bottom Margin` setting.
* Added a new global `Mobile Cell Bottom Margin` setting.
* Legacy Widgets: Updated for PHP 8 compatibility.
* WordPress 5.9 Compatibility: Resolved row ordering issue.
* jQuery: Resolved jQuery Migrate notice. Updated `ready` function.
* Full-Width Containers Using CSS: Theme container no longer removed on pages without full-width rows.
* Developer: Resolved JavaScript error when all style fields removed.
* Developer: Added `panels_title_check_sub_fields` to allow for sub-field detection.

= 2.15.3 - 01 December 2021 =
* Rows/Cells: Prevented possible data mismatch.

= 2.15.2 - 29 November 2021 =
* Cells: Resolved undefined `style` error.

= 2.15.1 - 27 November 2021 =
* Updated Page Builder `Pro Tips`.
* SiteOrigin Premium: Added row and widget fade styling when hidden by the Toggle Visibility Addon.

= 2.15.0 - 22 October 2021 =
* Added a "Mobile Margin" setting to `Widget Styles > Mobile Layout`.
* Ensured the Widget Title is used as the widget description if present.

= 2.14.3 - 10 October 2021 =
* Resolved conflict caused by Block Editor JavaScript loaded in the Classic Editor.

= 2.14.2 - 08 October 2021 =
* Layout Block: Force a draft before displaying the Live Editor button.
* Fixed `Cell Vertical Alignment` setting.
* Developer: Prevented potential notice when processing Page Builder fallback shortcode.

= 2.14.1 - 01 October 2021 =
* Layout Block: Restored Live Editor and History functionality.
* Ensured Cell Vertical Alignment doesn't stretch independently of the setting chosen.
* Developer: Prevented a potential small jump on load when CSS full width containers in use.

= 2.14.0 - 29 September 2021 =
* Tablet Styles: Added a new Tablet Styles section to row, cell, and widget styles.
* Widget Design Settings: Added a Link Hover Color setting.
* History Browser: Resolved incorrect preview URL.
* Live Editor: When accessing the Live Editor via the toolbar link, return to the site after saving. Setting available at Settings > Page Builder > General.
* Polylang: Ensured Page Builder data is copied during page duplication in the Classic Editor.
* Yoast SEO: Added additional Open Graph compatibility check.
* Developer: Advanced Custom Fields: Improved repeater support.
* Developer: Changed CSS Builder `$css` to public to allow more extensive filtering.
* Developer: Added `setup_style_fields` JavaScript event to allow the setup of custom style fields.
* Developer: Added an optional CSS method for full width containers using `siteorigin_panels_theme_container_width` and `siteorigin_panels_theme_container_selector`.

= 2.13.2 - 14 August 2021 =
* Modern Parallax: Resolved potential Jetpack Image Accelerator notice.
* Customizer: Resolved new widget area notice.

= 2.13.1 - 03 August 2021 =
* Modern Parallax: Exclude images from Jetpack Image Accelerator.
* Modern Parallax: Resolved sizing issue when the browser back button was used.
* Yoast: Selectively disabled Page Builder when Yoast is generating the OpenGraph meta description. Resolves potential Forminator and Ninja Forms errors.

= 2.13.0 - 20 July 2021 =
* Compatibility enhancements for WordPress 5.8.
* Developer: Added a style field wrapper ID.

= 2.12.6 - 5 July 2021 =
* Added cell editing icons to replace text action links when space isn't sufficient.
* Live Editor: Resolved bottom margin not being removed from the last widget in a given row.
* Parallax: Improved type detection to ensure legacy is always set when appropriate.
* Resolved a potential restore content prompt in the Classic Editor.
* Developer: Expanded widget title detection to include Widgets Bundle repeaters and sections.
* Developer: Expanded `panels_title` to fetch the first valid widget description.

= 2.12.5 - 17 June 2021 =
* Modern Parallax: Use the image attachment if available.
* Modern Parallax: Prevent possible container overflow using CSS.
* Live Editor: Minor button alignment improvements.
* Developer: ACF compatibility - use `panelsopen` for more consistent loading.
* Developer: ACF compatibility - added a check to ensure instance ACF data exists.
* Developer: Fixed `siteorigin_panels_row_column_count_input` filter.

= 2.12.4 - 04 June 2021 =
* Restored Tablet Layout row collapse.

= 2.12.3 - 03 June 2021 =
* Developer: Added the ability to filter fields based on the widget the user is editing using the `siteorigin_panels_widget_style_fields` filter.
* Developer: Added the ability to create individual row collapse points using the `siteorigin_panels_css_row_collapse_point` filter.

= 2.12.2 - 21 May 2021 =
* ACF: Added a check to ensure 5.7.10+ is active before loading Page Builder compatibility.
* Lazy Load: Added support for WP Rocket Lazy Load.
* Gravity Forms: Added compatibility to ensure conditional forms function normally when added via the Form widget.
* Developer: Stopped checking for repeated rendering if `$panels_data` was supplied.

= 2.12.1 - 11 May 2021 =
* Prevented potential repeated rendering of layouts.
* Moved the Page Builder metabox PHP outside of the metabox template.
* Added a check for `has_blocks()` before using the function.
* Resolved potential background display issue when a local and external background is used.

= 2.12.0 - 03 May 2021 =
* **New Parallax Scrolling!** Existing users can optionally switch to `Modern` at `Settings > Page Builder > General`.
* ACF: Added widget fields compatibility. `siteorigin_panels_before_widget_form` action is triggered before the widget form is output.
* Improved Add/Edit row responsive behavior.
* Updated sidebar emulator to detect current page ID by path. Resolves WPML compatibility issue.
* Added WP Rocket Lazy Loading compatibility for row, cell, and, widget background images.
* Automatic Excerpt: Added support for the `<!-- more -->` quicktag.
* Improved indexing of text containing multibyte Unicode such as Greek.
* Instant Open Widgets: Updated the setting to default enabled for new installs.
* Limited the `Page Builder Layout CSS Output Location` setting to the Classic Editor.
* Add Layout: Improved responsive behavior for long post titles.
* Ensured background image remove URL only displays when an image is present.
* SiteOrigin Layout Block: Removed the preview button when a preview isn't available.
* SiteOrigin Layout Block: Prevent an empty layout from being rendered.
* Block Editor: Added support for automatic excerpt generation if the first post block is a SiteOrigin Layout Block.
* Block Editor: Resolved duplicate Add SiteOrigin Layout button.
* Accessibility: Implemented keyboard navigation for the Page Builder admin interface. You can now tab through all fields and settings, and make changes without a mouse.
* Developer: Ensured prebuilt layout compatibility with JSON MIME type.
* Developer: Updated depreciated jQuery `bind` usage.
* Developer: Replaced older-style PHP type conversion functions with type casts.
* Developer: Resolved a PHP 8 notice relating to the CSS builder.
* Developer: Improved WordPress indexing of languages that use multibyte Unicode

= 2.11.8 - 09 December 2020 =
* Developer: jQuery updates for WordPress 5.6.

= 2.11.7 - 07 December 2020 =
* SEO: Generated `preview_url` before `preview_content`. Resolves Live Editor preview issue when a post loop is present in the page.

= 2.11.6 - 01 December 2020 =
* New: `Page Builder Layout CSS Output Location` setting that controls where PB outputs its CSS. Located at `Settings > Page Builder > Layout`.
* SEO: Improved content analysis process for slower servers and connections.
* SEO: Excluded `<iframe>, <script>, <link>, <style>` from content analysis due to word count inflation.
* Developer: Added `wp-color-picker` as an editor dependency.
* Developer: Introduced a new Ajax Response filter `siteorigin_panels_layouts_result`.
* Developer: Standardized SO Layout Block variables to avoid conflicts with other blocks.

= 2.11.5 - 30 September 2020 =
* Updated build scripts.

= 2.11.4 - 28 September 2020 =
* Block Editor: Fixed SiteOrigin Widgets Bundle block preview.
* Yoast SEO: Fixed word count in the Classic Editor when Page Builder is not in use.
* Yoast SEO: Resolved a console error in the Block Editor.
* Block Editor: Enhanced the Layout Block to allow for Post Loop widget previews.
* Layout Export: Resolved JSON files exported without contents.

= 2.11.3 - 14 September 2020 =
* Block Editor: Added SEO support for multiple Layout Block instances.
* Yoast SEO Sitemap: Added images added using Page Builder.
* Prevented potential `Are you sure you want to navigate away?` notice.
* Post Loop: Resolved `Undefined index` notice when used outside of Page Builder.
* Android Chrome: Improved edit widget touch detection.
* Yoast SEO: Resolved version `14.6` integration issue.
* Block Editor: Used new categories for the Layout Block for WP 5.5+.
* Block Editor: Resolved potential Layout Block data validation issue by running `wp_targeted_link_rel` on the generated preview content.
* Block Editor: Added preview support for the Layout Block.
* Block Editor: Updated translation functions to avoid potential conflicts.
* Block Editor: Added the page name and block number to Layout Block JSON export files.
* Block Editor: Improved SEO plugin support.
* Added a global `Row Mobile Bottom Margin` setting at `Settings > Page Builder > Layout`.
* Ensured Yoast SEO is ready before running compatibility functionality.
* Global Settings: Resolved a jQuery Migrate Helper warning.

= 2.11.2 - 12 August 2020 =
* Updated build scripts.

= 2.11.1 - 17 July 2020 =
* Added Rank Math SEO plugin support.
* Added [siteorigin_panels_layout_builder_supports](https://siteorigin.com/docs/page-builder/hooks/builder-features-actions/) filter.
* Block Editor: Added History and Live Editor functionality to the SiteOrigin Layout Block.
* Resolved a plugin conflict between the AMP by AMP Project Contributors plugin and the Text widget.
* Block Editor: Prevented the page saving until the SiteOrigin Layout Block is finished setting up widgets using AJAX.
* Mobile: Several minor improvements to the Page Builder interface to improve usability while editing on mobile devices.
* Fixed `undefined` Page Builder tab in WordPress 5.5.
* Added a new "Disable Background Parallax On Mobile" global setting to `Settings > Page Builder > General`.
* Post Loop: Added custom pagination format support to allow developers to use two Post Loop widgets with independent pagination on a page.
* Removed all HTML from the CSS Declarations field and strip slashes from textarea/code fields.

= 2.11.0 - 02 June 2020 =
* Live Editor: Ensured device viewing mode retained after update.
* Live Editor: Improved device preview transition.
* Legacy Layout: Detect IE 11 as legacy browser.
* Yoast SEO: Improved Classic Editor support.
* Yoast SEO: Added Block Editor support for the SiteOrigin Layout block.
* CSS Builder: Prevented rules without declarations from outputting.
* Widget Previews: Prevented boolean values from being used as widget descriptions.
* Live Editor: Resolved Chrome bug by setting preview url for iframe.

= 2.10.17 - 18 May 2020 =
* Live Editor: Improved mobile device previews.
* Excluded Black Studio TinyMCE Widget title from excerpts.
* Fixed Live Editor draft post functionality.

= 2.10.16 - 05 May 2020 =
* Security: Added nonce check to Live Editor.
* Security: Added nonce check to `builder_content` action.

= 2.10.15 - 07 April 2020 =
* Minor styling fixes.
* Resolved a Live Editor notice that can appear when using SiteOrigin Renderer outside the main loop.
* Tablet Layout: Restored cell bottom margin.

= 2.10.14 - 04 February 2020 =
* Several Classic and Block Editor admin styling fixes.

= 2.10.13 - 9 November 2019 =
* Fixed check for content.php post loop templates
* Add `builderType` argument when fetching a selected prebuilt layout.

= 2.10.12 - 4 November 2019 =
* Resolve issue caused by locate_template preventing plugins from adding Post Loop templates.

= 2.10.11 - 23 September 2019 =
* Added setting for cell spacing in a collapsed row.
* Fix support for widgets that share a single classname.
* Fixed styling issues after Chrome update.

= 2.10.10 - 28 August 2019 =
* Added filter for cell bottom margin on mobile.
* Make sure widget form checkbox values are unset when unchecked.
* Added Widget Options plugin compatibility code.

= 2.10.9 - 23 August 2019 =
* Use desktop margin between cells when collapsed and no mobile margin is given.

= 2.10.8 - 22 August 2019 =
* Made mobile bottom margin default to empty.
* Fixed remove button appearing when no image was present in style field.

= 2.10.7 - 20 August 2019 =
* Added setting for mobile specific margin.
* Prevent Welcome Page Redirect During Bulk Install and TGMPA
* Added support for password settings field.
* Layout Block: Add filter to control whether Add Layout Block button is shown or not.
* Fixed issue with widget duplication after moving a widget.
* Fixed Read More Custom Text issue.

= 2.10.6 - 12 June 2019 =
* Add admin filter for whether to show the 'add new' dropdown and classic editor admin notice.
* Trigger new event before initial panels setup.
* Yoast compat.
* Pass new widget view as parameter in 'widget_added' event.
* Layout Builder widget: Use preview parameter and remove redundant style rendering for Post Content and Preview rendering.
* Layout Block: Support for custom class names.
* Layout styles: Add contain as option for background image display.
* Block editor: Only go to PB interface for _new_ PB post types.
* Layout block: Use `jQuery` instead of alias `$` for odd cases where `$` is undefined.

= 2.10.5 - 5 April 2019 =
* Live Editor: Fix styles in live editor previews.
* Render cell styles after row styles.

= 2.10.4 - 3 April 2019 =
* New welcome page.
* Include row style wrapper in cell CSS direct child selectors.

= 2.10.3 - 2 April 2019 =
* Layout builder widget: Call styles sanitization in update.
* Live editor: Only call `process_raw_widgets` once for preview data.
* Add a setting for whether to display SiteOrigin Page Builder post state.
* Sidebars emulator: Cache the result of url_to_postid().
* Prevent affecting child layouts with parent layouts' CSS.

= 2.10.2 - 28 February 2019 =
* Don't remove left/right border when Full Width Stretch Padding is enabled on row.
* Display widget count for inline-save.
* Live editor: Press escape to close.
* Live editor: Give the user an option to either close or close and save.
* Added widget class to widgets in builder interface.
* Dialog crumbtrail fix.
* Only close topmost Page Builder window when escape key is pressed.
* Layout Block: Retrieve sanitized panels data from server as changes are made.

= 2.10.1 - 7 February 2019 =
* Layout block: Fix front end rendering not always updating widgets correctly.
* Fix notice when using WP 4.9.9.
* Hide layout block button when content has been added to a post.
* General responsive improvements.
* Layout block: Initialize previews correctly.
* Layout block: Avoid use of `withState`.

= 2.10.0 - 16 January 2019 =
* Prevent syntax warning in PHP7.3
* Add radio Style field type.
* Layout block: Add button in block editor to add a SiteOrigin Layout Block.
* Rerender row styles form on initializing a new dialog.
* Change sidebar emulator 'id' key to avoid conflicts with widgets which already use 'id' as a key.
* Validate post loop templates.
* Layout block: Force raw widget processing for block editor previews.
* Layout block: Ensure scripts load when Gutenberg plugin is active.
* Support widgets registered using instances instead of class names.
* Layout block: Add setting for whether to default to edit mode or preview mode.
* Ensure style fields filter work as expected and hide styles sidebar when no fields are present.
* Layout Block: Add 'page builder' as a keyword.

= 2.9.7 - 14 December 2018 =
* Add setting to use Classic Editor for new posts of types selected in Page Builder settings.
* Prevent showing the 'Add New' dropdown for SO custom post types.
* Display notice indicating how to disable Classic Editor for new Page Builder post types.

= 2.9.6 - 10 December 2018 =
* Default to Page Builder interface for post types set to use Page Builder in Settings.
* Add check for WooCommerce 'product' type to prevent output of 'Add New' dropdown.

= 2.9.5 - 6 December 2018 =
* Layout block: Default to preview state if block has panels data.
* Dropdown for 'Add New' with SiteOrigin Page Builder as an option.
* Added a label to posts list to indicate which have a Page Builder layout.

= 2.9.4 - 5 December 2018 =
* Layout block: Set default state to edit mode.

= 2.9.3 - 5 December 2018 =
* Use front end i18n for block editor.
* Ensure contextual menu works in dialogs.
* Yoast compat: Check for panels style wrappers before doing widget content modifications.
* Clone Layouts: Fix to allow for private posts and pages.
* Block editor: Show preview initially when page is loaded.
* Block editor: Show classic editor for existing pages containing Page Builder layout data.

= 2.9.2 - 9 November 2018 =
* Block editor: Call `enqueue_registered_widgets_scripts` which will reset global `$post`.
* Block editor: Only enqueue layout block scripts when using the block editor.
* WP 5: Fixed styles in the block editor.
* WP 5: Ensure the block editor scripts are enqueued.
* WP 5: Fix WP Text Widget for layout block.

= 2.9.1 - 23 October 2018 =
* Fix auto-excerpt output.
* Layout builder: Fix 'undefined index' when saving before having added any widgets.
* Layout builder: Prevent initializing multiple instances of widget dialog.
* Prevent notices when style field is using 'label' instead of 'name' e.g. for checkbox field.

= 2.9.0 - 9 October 2018 =
* Automatically extract excerpts from text type widgets found in the first two Page Builder layout rows.
* Allow media queries with only `min-width`.
* Only allow moving widgets and rows between Page Builder instances when in Gutenberg editor.
* Fallback to checking for global `$post` when attempting to disable Gutenberg for existing posts with Page Builder layout data.
* Yoast compat: Custom widget content handler for WB Accordion and Tabs widgets.
* Jetpack compat: Fix for Jetpack widgets using the `is_active_widget` check.

= 2.8.2 - 10 August 2018 =
* Use post ID in content, not revision ID, when saving revisions.
* Prevent adding duplicate `panels_data` metadata to posts for revisions.
* Include row labels and colors when copy/pasting rows.
* Process raw widgets when importing a layout file.
* Fix after breaking change in gutenberg API.

= 2.8.1 - 07 August 2018 =
* Fix for PHP5.2 :(

= 2.8.0 - 06 August 2018 =
* SiteOrigin Layouts Gutenberg block!

= 2.7.3 - 20 July 2018 =
* Post Loop: Add filter to allow for custom template directories.
* Dashboard Assets: Check if $screen exists.
* Remove Page Builder button from widgets when not in admin context.
* Fix Yoast compat: Properly create rather than select an image.

= 2.7.2 - 29 June 2018 =
* Skip Yoast compat for non PB content.

= 2.7.1 - 28 June 2018 =
* Check for yoast metabox before enqueuing compat JS.

= 2.7.0 - 27 June 2018 =
* New setting to automatically open widget forms when they're added.
* New row layout option to make provision for row style padding in full width stretched rows.
* Make sure prebuilt layouts path is a real path.
* Better compatibility with Yoast SEO.
* Row Cell options: Prevent Yoast from resizing fields.
* Added `panels_data` filter to `generate_css`.
* Don't hide the upload UI before initializing it.
* Fix collapse order in legacy layout.
* Clear SO widgets' id and timestamp metadata when cloning a PB Page.
* Fix layout imports in Edge.
* Apply bottom margin custom styles to main wrapper where PB adds it's bottom margin, to allow users to override.
* Use https for layouts directory.

= 2.6.9 - 7 June 2018 =
* Changed dashboard feed URL to use cloudfront for caching.

= 2.6.8 - 5 June 2018 =
* Remove learn dialogs.
* Added SiteOrigin news dashboard widget

= 2.6.7 - 7 May 2018 =
* Prevent debug notice when background fallback image hasn't been set.

= 2.6.6 - 25 April 2018 =
* Only filter WooCommerce content when on the shop page.
* Fix Background fallback URL notices.

= 2.6.5 - 23 April 2018 =
* Don't use `mime_content_type` for external layouts if it's not available. Just check file extensions.
* Get correct ID for WooCommerce shop page to allow PB to render correctly.
* Added image fallback url field for background images in row, cell and widget styles.
* Temporarily remove Jetpack widgets requiring scripts for admin form, until we can reliably enqueue their scripts.
* Remove loading indicator and display message when loading widget and style forms fail.
* Allow setting margins around specific widgets.

= 2.6.4 - 4 April 2018 =
* Only call widget `enqueue_admin_scripts` function for WP core JS widgets.

= 2.6.3 - 6 March 2018 =
* Use `delete_post_meta_by_key` instead of direct DB query to clear old cache renders.
* Removed special handling for retrieving data from TinyMCE editor fields. Just use the field value directly.
* Show correct preview for current editor when another editor has created an autosave.
* Use minified CSS files.

= 2.6.2 - 23 January 2018 =
* Prevent Gutenberg from taking over existing PB pages.
* Remove PB metaboxes from Gutenberg editor.

= 2.6.1 - 18 January 2018 =
* Switch off output buffering when enqueueing admin scripts.
* Prevent custom post types from showing in the settings list.
* Make sure 'SiteOrigin_Panels_Widgets_Layout' exists before setting icon for widgets lists.
* Hide individual action links when features disabled and prevent editing by clicking directly on spanner when edit row disabled.
* Adapt PB welcome message when some features not supported.
* Column width CSS output correctly for locales which use ',' as decimal separator.
* Fixed prebuilt layout directory items.

= 2.6.0 - 17 December 2017 =
* Load prebuilt layout JSON files found in themes!
* Allow post types with numeric slugs.
* Add a filter for inline styles.

= 2.5.16 - 22 November 2017 =
* Disabled the Content Cache feature until we've resolved all issues and conflicts.

= 2.5.15 - 17 November 2017 =
* Don't use deprecated `load` event jQuery function shortcut.
* Immediately switch to Page Builder if `revertToEditor` feature isn't supported.
* Fix switching between standard editor and Page Builder.
* Removed some duplicated jQuery selectors.
* Prevent error with invalid plugin action links.
* Add compatibility for new WP core Custom HTML and Media Gallery widgets.

= 2.5.14 - 6 November 2017 =
* Content Cache: Add Enqueue hook to allow 3rd parties to enqueue cache friendly assets.
* Added raw_panels_data flag for layout imports.
* Save ratio and ratio_direction as row attributes.
* Add rel="noopener noreferrer" for all 3rd party/unknown links.

= 2.5.13 - 29 September 2017 =
* Always enqueue parallax when in cache mode.
* Skip saving post meta for revisions in previews.
* Cast post types as string when adding meta boxes.

= 2.5.12 - 14 September 2017 =
* Learn: fixed broken image.
* Prevent JS error when PB active alongside Elementor.
* Disabling DFW mode no longer hides PB.
* Hide Cell Vertical Alignment options if Legacy Layout is set to always.

= 2.5.11 - 24 August 2017 =
* Prevent creating multiple new entries in post meta every time a post is previewed.
* Avoid using relative asset URLs which may break caching plugins.
* Import custom widget class from HTML.

= 2.5.10 - 4 August 2017 =
* Fixed WP widget wrappers broken by WP4.8.1 changes.

= 2.5.9 - 27 July 2017 =
* Post Loop widget: Use correct base widget properties for post loop helper on Widgets page.
* Post Loop widget: Set default width of post loop widget control.
* Reset `widget_id` when cloning widgets.
* "Reset" fixed background image display setting on mobile.
* Previews work without saving panels data to parent post meta.
* Removed tutorials view.
* Learn dialog fixes.

= 2.5.8 - 4 July 2017 =
* Replaced themes link with tutorials.

= 2.5.7 - 27 June 2017 =
* Get post from DB before saving for 'copy content' to avoid overwriting changes by other plugins.
* Switched toolbar links.
* Skip cache rendering for password protected posts.

= 2.5.6 - 13 June 2017 =
* Pass empty post id to 'siteorigin_panels_data' filter to avoid potential fatal errors.
* Remove unnecessary output of JS widget templates.

= 2.5.5 - 8 June 2017 =
* Ensure form fields name attributes are correct when using the Widgets Bundle post loop helper.
* Prevent display of unimplemented preview button for Post Loop widget.

= 2.5.4 - 1 June 2017 =
* Compatibility with WordPress 4.8 widgets.
* Refactored core widgets.
* Compatibility with Widgets Bundle 1.9 posts selector.
* Ensure custom CSS added in element styles is properly formed.

= 2.5.3 - 9 May 2017 =
* Added legacy function wrapper for siteorigin_panels_generate_css
* Added more cache render checks
* Handle translation of Learn submodule strings
* Added screenshot argument to preview URL

= 2.5.2 - 19 April 2017 =
* Fixed RTL layouts for new flexbox layout.
* Renamed front.css to ensure cache busting.
* Allow cache with auto legacy layout.
* Use HTTPS for layout directory screenshots.
* Fixed namespaced widget escaping.

= 2.5.1 - 18 April 2017 =
* Added null function for Sydney theme compatibility.
* Added method for including additional external layout directories.
* Added fix for old Vantage PB layout compatibility.
* Fixed Firefox layout issues.
* Fixed positioning of edit row dropdown.
* Fixed warning coming from legacy widgets.
* Added legacy layout rendering for old browsers.
* Switched to using calc for cell sizing.

= 2.5 - 11 April 2017 =
* Large code refactoring for improved performance.
* Added row and widget labelling, and color labels for rows.
* Added cell specific styling.
* Redesign of main interface.
* Fixed performance issues with larger pages.
* Changed layouts to flexbox to remove need for negative margins.
* Added various cell vertical alignment settings.
* Add loop check to prevent rendering from running too soon.
* Page Builder can now more easily go to and from the WordPress editor.
* Added row and widget copy/paste. Currently only within a single site.
* Allow row and cell styles to be edited in add row dialog.
* Fixed visual jump before making rows full width.
* Added option to cache generated content. Can improve compatibility with shortcode based plugins.
* Added option to cache generated CSS in post_content. Allows page rendering without Page Builder active.
* Fixed namespace widgets in Live Editor.
* Increased maximum cell count to 12.
* Added prominent legacy widgets notice.
* Accept negative values in measurement style fields.
* Fixed Live Editor conflict with Layout Widgets in footer.
* Added mobile CSS style settings for rows, cells and widgets.
* Added a mechanism for including theme layouts as JSON files.
* Added buttons for free courses. Removed all references to premium addon.
* Removed translation files. These will be pulled from Glotpress instead.
* Widget update function is properly passed old widget instance.
* Various filters added for theme/plugin developers.
* Various minor bug fixes.
* Various small UX tweaks and improvements.

= 2.4.25 - 21 February 2017 =
* Fixed how widget wrapper IDs are generated.

= 2.4.24 - 3 February 2017 =
* Add row ID to style wrapper instead of actual row.
* Use more specific selectors for padding CSS.

= 2.4.23 - 31 January 2017 =
* Fixed padding issue introduced by new mobile padding setting.

= 2.4.22 - 31 January 2017 =
* Add WP Color Picker as a dependency for admin script.
* Include and check post ID in Live Editor. Fixes some issues with widgets using the_excerpt in Live Editor.
* Added mobile padding settings.
* Made all learning links/buttons removable in Page Builder settings.

= 2.4.21 - 19 December 2016 =
* Removed course toolbar links.
* Added filter for post loop query.
* Replace TinyMCE _.isUndefined() check with a typeof to prevent JS errors.

= 2.4.20 - 7 December 2016 =
* Removed Premium and contribution links.
* Added course links.

= 2.4.19 - 22 November 2016 =
* Added fixed background support.
* Cycle addon and contribution link.
* Small type and translation fixes.

= 2.4.18 - 7 November 2016 =
* Fixes for PHP 7 checker.
* Properly provide post ID on custom home page.
* Fixed CSS and JS URLs.
* Corrected post__not_in issue for query builder.

= 2.4.17 - 14 October 2016 =
* Removed old Stellar JS library.
* Added parallax setup after small timeout.
* Added way to add affiliate ID.
* Added tips signup link.

= 2.4.16 - 27 September 2016 =
* Added disableable upgrade notice.

= 2.4.15 - 6 September 2016 =
* Fixed legacy widgets check.

= 2.4.14 - 1 September 2016 =
* Fixes to sidebar emulator to prevent early rewrite rule building.
* Added option to completely disable sidebar emulator.

= 2.4.13 - 18 August 2016 =
* Fixed: layout directory imports in WordPress 4.6

= 2.4.12 - 17 August 2016 =
* Fixed layout directory requests for WordPress 4.6

= 2.4.11 - 15 August 2016 =
* Added esc_url to all add_query_arg calls.
* Improved measurement style field to handle multiple values.
* Hide empty columns after mobile collapse.

= 2.4.10 - 4 July 2016 =
* Made Live Editor quick link optional from Page Builder settings page.
* Added option to specify parallax motion.
* Fixed settings help link.
* Renamed Prebuilt to Layouts
* Reverted sidebars emulator change.
* Skip empty attributes in CSS generator class.

= 2.4.9 - May 26 2016 =
* Improved parallax library to upscale images to ensure enough of a parallax.
* Allow negative values in measurement fields.

= 2.4.8 - May 13 2016 =
* Reverted Wordfence fix from 2.4.7 - it raised other issues.

= 2.4.7 - May 13 2016 =
* Replaced parallax with custom implementation.
* Added more filters and actions.
* Allow other plugins to enable/disable certain builder functionality.
* Added unique IDs (UUID) to all widgets.
* Added fallback previewer for Live Editor.
* Prevent double filtering of $panels_data.
* Developer support for read-only widgets.
* Fixed issue that resulted in Wordfence blocking some Page Builder requests.
* Small interface improvements.

= 2.4.6 - April 13 2016 =
* Fixed Javascript errors with layout builder widget.

= 2.4.5 - April 13 2016 =
* Only trigger contextual menu for topmost dialog.
* Improved design of Live Editor preview.
* Added Live Editor link in the admin menu bar.

= 2.4.4 - April 6 2016 =
* Fixed ordering of new rows, widgets and cells in builder interface.
* Fixed Layout Builder widget sanitization error. Was causing fatal error on older versions of PHP.

= 2.4.3 - April 6 2016 =
* Fixed measurement style fields.
* Properly process raw widgets in Live Editor.
* Remove empty widgets from raw widget processing.

= 2.4.2 - April 4 2016 =
* Improved error handling and reporting.
* Don't add widget class for TwentySixteen theme.

= 2.4.1 - April 2 2016 =
* Fixed: Copying content from standard editor to Page Builder
* Fixed: Plugin conflict with Jetpack Widget Visibility and other plugins.

= 2.4 - April 1 2016 =
* Created new Live Editor.
* Changes to Page Builder admin HTML structure for Live Editor.
* New layout for prebuilt dialog.
* Now possible to append, prepend and replace layouts in prebuilt dialog.
* Fixed contextual menu in Layout Builder widget.
* Added row/widget actions to contextual menu.
* Clarified functionality of "Switch to Editor" button by renaming to "Revert to Editor".
* refreshPanelsData function is called more consistently.
* Various background performance enhancements.
* Full JS code refactoring.
* Fixed cell bottom margins with reverse collapse order.
* Improved window scroll locking for dialogs.
* Added `in_widget_form` action when rendering widget forms
* Custom home page now saves revisions.

= 2.3.2 - March 11 2016 =
* Fixed compatibility with WordPress 4.5

= 2.3.1 - February 10 2016 =
* Fixed fatal error on RTL sites.
* Made setting to enable tablet layout. Disabled by default.

= 2.3 - February 10 2016 =
* Delete preview panels data if there are no widgets.
* Added a collapse order field.
* Added custom row ID field.
* Fixed copy content setting.
* Added tablet responsive level.
* Fixed admin templates.
* Fix to ensure live editor works with HTTPs admin requests.
* Fix for Yoast SEO compatibility.
* Removed use of filter_input for HHVM issues.
* Added panelsStretchRows event after frontend row stretch event.
* Minor performance enhancements.
* Merged all separate JS files into a single Browserify compiled file.
* Added version numbers to some JS files to ensure cache busting.

= 2.2.2 - December 09 2015 =
* Fix tab name for WordPress 4.4. Was displaying undefined.
* Fix to ensure siteorigin-panels class is added to Page Builder pages.

= 2.2.1 - October 22 2015 =
* Various fixes to widget class names.
* Added option to remove default `widget` class from Page Builder widgets.
* Added action to saving home page.
* Added support for defaults in widget and row styles.
* Improve check for the homepage in sidebars simulator.
* Changed parallax library to improve theme compatibility.
* List privately published posts and pages under the prebuilt layout dialog Clone options.

= 2.2 - September 7 2015 =
* Added prebuilt layout directory.
* Added contextual menu for quick actions.
* Added parallax background images.
* Properly handle missing widgets when saving forms.
* Don't revert to default page template when using custom home page interface.
* Various minor bug fixes and improvements.

= 2.1.5 - August 19 2015 =
* Fixed handling of checkboxes and array fields.
* Properly position Page Builder tab in WordPress 4.3.

= 2.1.4 =
* Fixed handling of raw forms.

= 2.1.3 =
* Removed use of filter_input for compatibility with HHVM
* Fixed checkbox handling in forms.
* Removed unnecessary sprintf calls to lower chance of translations causing issues.
* More generic handling of builder instances to allow them to be used in different places.
* Use implicit check for whether editor is undefined or null.
* Added optional $widget_id parameter to siteorigin_panels_render_form.
* Improved checking for home page in sidebars emulator.
* Added a builder "type" to allow more targetted instances.

= 2.1.2 =
* Removed rendered content cache introduced in 2.1.1

= 2.1.1 =
* Added translations for 16 additional languages
* Modified strings to improve translatability.
* Row and Widget style measurement fields now allow multiple values.
* New rows now added below row of currently selected cell.
* Orphaned widgets in edited rows are now moved into remaining cell.
* Made panels javascript object globally accessible.
* panels_info array now passed into widget rendering function.
* Removed unnecessary action triggers from customizer that was breaking some themes.
* Disabling Page Builder on a page now properly creates history entry.
* Small fixes to sidebars emulator.
* Fixed import/export on custom home page interface.
* Removed call to filter_input from global space.
* Fixed bundled widgets conflict with Yoast SEO.
* Prevented double rendering issue with Yoast SEO.

= 2.1 =
* Improved Page Builder settings page.
* Added sidebar emulation, which makes a Page Builder page appear to be a sidebar. Improves compatibility with other widgets.
* Removed jPlayer. Self hosted widget (legacy) now uses MediaElement.
* Small usability improvements.
* Added legacy widget migration for gallery widget.
* Layout file based import/export feature.
* Added widget title setting to change widget title HTML.
* Added setting to control full width container.
* Fixed: Handling of namespaced widgets.
* Fixed: Layout Builder widget now works in the Customizer.
* Fixed: Custom home page interface now properly uses page_on_front.
* Fixed: Page URL for home page in custom home page.
* Fixed: Custom home page encoding.

= 2.0.7 =
* Fixed issue that prevented prebuilt layouts from showing up.

= 2.0.6 =
* Added nonce to all admin requests.
* Fixed live editor for missing widgets.
* Fixed handling of multi-line row/widget custom CSS.
* Fixed issue with encoding of panels_data.

= 2.0.5 =
* Added proper escaping in widget form.

= 2.0.4 =
* Changed how data is json encoded to prevent malformed Page Builder data.
* Fixed import/export.
* Added layout widget notification (doesn't work in customizer).
* Fixed translation domains.
* Additional hooks and filters.

= 2.0.3 =
* Fixed issue with double calling sidebar_admin_setup that was breaking some widgets.
* Fixed fetching content from TinyMCE in text mode.

= 2.0.2 =
* Fixed fatal error in validation for PHP < 5.5

= 2.0.1 =
* Fixed issue with preview causing content loss in standard editor.
* Fixed issue with Black Studio TinyMCE
* Changed templating tags in js-templates.php to prevent fatal errors with some server configurations.

= 2.0 =
* Complete rewrite of Page Builder Javascript using Backbone.
* Complete UI redesign.
* Grid Engine rewrite for more efficient CSS.
* Various performance enhancements and bug fixes.

== Upgrade Notice ==

Page Builder 2.0 is a major update. Please ensure that you backup your database before updating from a 1.x version. Updating from 1.x to 2.0 is a smooth transition, but it's always better to have a backup.

= 2.31.6 – 19 April 2025 =
* Import: Closed all containers in imported layouts to ensure consistent layout rendering.
