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 (https://academy.bricksbuilder.io/article/query-filters/), 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 v1.9.9 changelog

This release tackles many current issues and adds plenty of improvements and some exciting new features to Bricks. It’s a big one—more than 110 changes in total.

Let’s have a look at the highlights of this release.

CSS Variables Manager

After introducing the global class manager in Bricks 1.9.5, we now extend the global style management capabilities of Bricks to CSS variables with the introduction of the new global variables manager 🤩

Documentation: https://academy.bricksbuilder.io/article/global-variables-manager/

Code Element: Support Dynamic Data

The Code element now supports parsing dynamic data.

To remain backward-compatible and avoid breaking any existing code with the new parse, you have to explicitly enable the new “Parse dynamic data” setting, as shown in the screenshot.

You’ll also notice another new setting named “Suppress PHP errors”. Enable it if you don’t want any potential PHP errors inside your Code element to be visible on the front end of your live site.

Duplicate Pages/Templates

Do you have existing content, built with Bricks or Gutenberg, that you want to duplicate, including all its post meta, terms, etc.?

You can now duplicate content of any post type with Bricks in the WordPress dashboard by hovering over the title on the post screen in your dashboard and clicking the “Duplicate” link.

Or duplicate posts, pages, etc., inside the builder from the “Pages” panel (see screenshot).

Please use this new built-in duplicator instead of third-party solutions to ensure that unique element IDs are properly generated for your duplicated pages, templates, etc.

The duplicated page/template will be saved as a draft.

Style Tab & Breakpoint Setting Indicators

The trusty setting “dot” indicator was only available next to individual settings. You can now quickly spot if the element or global class you are editing contains settings on any breakpoint. And if any styles are set under the “Style” tab.

NOTE: The little “dot” that indicated the “Base breakpoint” in the builder toolbar has been changed to a “line” below the breakpoint icon. This way, we can use the “dot” indicator throughout the builder to denote properties that “have settings.”

New Spacing Control UI (margin/padding)

As the new variable picker requires additional space inside the panel, we had to rethink certain controls, such as the spacing control used for margin, padding, and border width.

You can still access the previous spacing control by clicking the “toggle” icon. 😎

Cache remote templates

Previously, remote templates were requested every time you opened the template manager in the builder, which was a bit excessive. So now, all remote templates are cached locally on your machine for seven days via IndexedDB.

More flexible echo function name checks

If you are using a lot of DD echo tags on your Bricks site, you can now take advantage of a more flexible way to whitelist and check the function names you want to call through the echo tag via regex patterns or 100% custom checks. Learn how, plus code examples, at https://academy.bricksbuilder.io/article/filter-bricks-code-echo_function_names/#patterns

New custom JavaScript events

We prepared the following three new custom JavaScript events for you:

  • bricks/tabs/changed
  • bricks/accordion/open
  • bricks/accordion/close

There’s also a new Academy article listing all custom JavaScript events Bricks provides at https://academy.bricksbuilder.io/article/custom-javascript-events-in-bricks/

Full v1.9.8 changelog

Quick hotfix release as Bricks 1.9.7 caused an issue with adding/updating the postmeta for users without builder access. This was caused by one of the new security additions in 1.9.7.

Full v1.9.7.1 changelog

The update we provided on February 13th with Bricks 1.9.6.1 was a quick and effective answer to the vulnerability reported on February 10th. It successfully tackled the urgent issue and also initiated a broader initiative to strengthen Bricks’ security rather than representing the final phase of our security enhancements.

We’ve dedicated the past four weeks to a thorough review and enhancement of our entire codebase. Our goal was clear: develop a solution for code execution that maintains the advanced code functionality you rely on while elevating Bricks’ default security level to new heights.

This 1.9.7 update is the result of this effort. It introduces a suite of new security features and improvements.

It also addresses a smaller, possible authenticated issue discovered while working on 1.9.7, which requires a contributor role or above, bad intentions, and a code execute user to perform certain additional steps. There is no need to panic or update in the next 5 minutes, but we recommend updating as soon as you have the chance.

If you experience any problems after updating, please reach out to us via email at [email protected].

Before you update, please take a full backup of your site!

The significant changes of this update could impact your site’s functionality. A backup ensures you have a safe point to revert to if necessary. Please do not skip this critical step.

Continue reading the full changelog entry with all details by clicking to link below …

Full v1.9.7 changelog