This release includes plenty of in-builder improvements and fixes. We tackled builder lag issues when adding and removing classes and rendering nested query loops. Duplicating, renaming, and reordering elements should also be much snappier now 🚀.

The builder received a new set of interface icons 🔥. The “View on frontend” icon is now always visible. We reordered the builder toolbar icons slightly. There’s a toolbar setting indicator when the active element has pseudo-classes. Give it a bit of time to get used to 😉

Global Data Sync – Classes

The new and experimental Global Data Sync feature marks Bricks’s next big step towards more synchronous and efficient teamwork.

Until now, editing global data (global classes, CSS variables, theme styles, color palettes, etc.) in Bricks could lead to unwanted overwrites if another team member simultaneously edited the same global data.

With the new Global Data Sync enabled for classes under Bricks > Settings > Builder > Global data sync, all global class changes (add, delete, or modify classes) made in any other builder instance are automatically pulled into your builder instance whenever you perform a save.

IMPORTANT: This is an experimental feature. Please DO NOT use it on any production website! It is only meant to test and share feedback with the Bricks team via email or the forum at this stage of development!

Query Sort & Filter: Production-ready

We removed the experimental flag from the Query Sort & Filter (, introduced in Bricks 1.9.6.

We are still working to extend, improve, and fix this feature. But it’s now at a stage where you can start using it on production-level sites.

Access control fix for user role “Contributor”

WordFence informed us that users with the role “Contributor” and builder access could edit Bricks post data they did not create.

Which, to be in line with WordPress contributor capabilities, shouldn’t technically be possible.

Bricks 1.9.9 fixes this issue by aligning the WordPress contributor capabilities when editing with Bricks. Meaning that contributors can now only edit their own Bricks-created posts.

To be clear, those edits could only affect the generated content, not any executable code. Only users with code execution capability can add, edit, or sign executable code in Bricks.

Full changelog

  • Builder: Sync Global Classes (Notifications)New
  • Builder: Always show “View on frontend” icon & new keyboard shortcut (CMD/CRTL + SHIFT + V)New
  • Builder: New interface iconsNew
  • Comments element: New setting “HTML tag” for comments titleNew
  • Form element: New field settings for “autocomplete” & “spellcheck”New
  • Maintenance Mode: New settings to “Render header” & “Render footer”New
  • Performance: Minify Bricks inline CSSNew
  • Popup: New setting “Show again after .. hours”New
  • Icon List: New “Icon color” setting & color specificityNew
  • Image element: Support “image_size_names_choose” WP core hook to set custom image size labelNew
  • Builder: Toolbar setting indicator for pseudo-classesNew
  • Builder: Minimise element duplication lagImprove
  • Builder: Improve performance for class add/remove; element rename/deleteImprove
  • Builder: Remove variable picker icon overlap (legacy spacing controls)Improve
  • Builder: Settings indicator reset not 100% clickableImprove
  • Builder: Color palette variable picker font-weight (400)Improve
  • Carousel element: Lightbox link should include “href”Improve
  • Nav menu element: Hamburger aria-label (open/close mobile menu)Improve
  • Page settings: Scripts only available to user with “unfiltered_html” capabilityImprove
  • Popup: Allow interaction with page content when backdrop is disabled (pointer-events)Improve
  • Products element (in footer): Empty loop/no products found on archive pagesImprove
  • Remove SVG overflow: hidden ruleImprove
  • Rich text element: CTRL + P keyboard shortcut shouldn’t open the browser print dialogImprove
  • Updated: Google fontsImprove
  • Dynamic data: Remove outermost curly brackets only (while parsing)Improve
  • All lowercase check via strtolower instead of ctype_lower (requires no PHP extension)Improve
  • Builder: Insert media select#media-attachment-date-filters widthImprove
  • Update Bricks assets directory on “switch_blog” (multisite)Improve
  • Builder: Nested query loops causes large number of AJAX callsImprove
  • Dropdown: Shouldn’t be accessible during closing transitionImprove
  • Typography settings: Add missing “lowercase” tooltipImprove
  • Builder: “hidden” icon shows on wrong breakpoint(s)Fix
  • Builder: Click on element without settings, then reload tab triggers unsaved changes messageFix
  • Builder: Condition with DD causes 503 HTTP errorFix
  • Builder: Jiggling section (when container padding set)Fix
  • Builder: Fix variable picker icon z-index (visible under classes dropdown)Fix
  • Builder: Remove variable picker from CSS filter settingFix
  • Bricks settings: Can’t add more than two remote templatesFix
  • Bricks settings: “Save Bricks data as Gutenberg data” not workingFix
  • ACF clone fields setup on Group or Flexible Content display wrongly (wp-admin)Fix
  • Accordions: Hash link pointing to parent element (e.g. section) toggles first accordion itemFix
  • Button: “.outline” class not added when no “Style” is setFix
  • Comments element: Existing comments don’t show when comments are closedFix
  • Dynamic data: Don’t translate ACF true / false field value in element conditionsFix
  • Form element: Email HTML content brokenFix
  • Form element: “all_fields” rendered twice in confirmation emailFix
  • Image element: CSS selector should target element root whenever possibleFix
  • Image gallery element: Masonry layout images overlap on slow network when loading=lazy attribute added (via plugins, etc.)Fix
  • Multiple radio filters using same taxonomy don’t work when combined with other filtersFix
  • Photoswipe defer breaks enqueue due to “src” replace in URLFix
  • Polylang Pro + ACF translated field group: Creating post validation failed in Bricks 1.9.8Fix
  • Post (title, etc.) element condition generates PHP warning on 404 pageFix
  • Products element set as main query in search template bug (irrelevant post type included)Fix
  • Query loop: Ignore “Is main query” if query loop is disabledFix
  • Query filter: Sort meta numeric value not working with decimal number; Select filter trigger on “submit” not workingFix
  • Video element: playsinline attribute was always setFix
  • WPML & Polylang: Query loop infinite scrolling returns the wrong language or wrong template might loadFix
  • WPML + Multicurrency Language URL format causing currency incorrect in Bricks Rest APIFix
  • WooCommerce: My account dashboard template overrides custom endpoint templatesFix
  • WooCommerce: Google fonts set in Woo template not loadingFix
  • Builder: Auto-expanding (CSS) panel width flickerFix
  • Canvas: Doesn’t update if quickly switching to a different element after editing a settingFix
  • Form element: Invalid aria-labelledby in form group (a11y)Fix
  • Can’t retrieve form settings if template has Post content element with source “Bricks”Fix
  • Duplicate element: Generate unique interaction IDsFix
  • Nav Menu: Open static submenu inside megamenu is accessible if megamenu is closedFix
  • Query Filter: Current taxonomy term resets if taxonomy filter element is not a checkboxFix
  • Search Overlay: Input typography color gets overriddenFix
  • Search Overlay: Input width applies to wrong selectorFix
  • Select & Radio Filter elements: Always use IN compare operator when generating meta queryFix
    All releases