2.12 "Tarbela" - 11/13/2026
Beaver Builder 2.12 is here!
This is a major update and will be released as the official download on the My Account page first. Remote updates to all existing sites will begin soon.
Please check out the Release Post for highlights of what's new or the "About this Release" doc for all of the details.
Enhancements
- Filter Module: New Filter module in the Actions category that filters and sorts an existing Posts or Loop module on the same page. Supports taxonomy filters (buttons or dropdown), search with Search As You Type, and sort, with AJAX updates, shareable URLs and back-button support, falling back to a normal page reload when AJAX is unavailable. Custom modules can also let the Filter module filter their repeater items (#5440, #5795)
- Icon Picker: Rebuilt as a React UI with a category sidebar, icon name labels, grid/list toggle, and search. Font Awesome updated to 7.3.1 with the Sharp and Sharp Duotone families added (#5257)
- Design System: Beaver Builder now ships the Design System Core extension, so Custom modules and design system styling render without the Beaver Builder AI plugin installed. The extension is not included in the Lite build (#5476, #5496)
- Design System: Update to the latest build
- Field Connections: Color and image layers in the Multiple Backgrounds field can now be connected to Themer properties, such as the featured image or an ACF image or color, on rows, columns, Box and Popup backgrounds (#5873)
- Rows: New Global Settings option to choose whether a module dropped on an empty area of the layout wraps in a Row or a Box (#5651)
- Typography: Font Weight now defaults to Normal (400) when the font has it, instead of the first weight listed (#5683)
- When a node has a custom label set, the settings header, canvas overlays and Outline Panel now show only that label instead of the module name alongside it (#5423)
- Components: Copy and Paste Settings is back for component instances in the Outline Panel and the wrench menu, and pasting only works between instances of the same component (#4453)
- Builder Tour: The tour now adapts when Beaver Builder AI is active and adds steps for the Cloud, Assistant and Query Monitor icons when those integrations are enabled (#5791, #5826)
- Performance: Publishing a global row, column or module no longer runs a slow full-site scan on sites with large layout data (#5807)
- Settings: Matched the core settings page chrome to the Design Systems settings page (#5639)
Fixes
- Security: Fixed unpublished layout drafts being visible to any logged-in user through
?fl_builder_preview. Draft previews now require permission to edit the page (#5888) - Security: Fixed the Convert to Component admin row action running with no capability check and acting on any post ID (#5725)
- Loop Module: Fixed ACF Repeater loops leaving the ACF loop open after the Loop, outputting the wrong JSON-LD, and colliding settings cache in nested loops (#5917)
- Loop Module: Fixed the outer loop item losing its post context after a nested Loop module (#5789)
- Loop Module: Fixed a nested post Loop resetting field connection state while the outer Loop is still running (#5943)
- Components: Fixed instances breaking while their master template sits in the trash. Trashed masters now resolve at render, and the builder hides the dead "edit master" UI for them (#5485)
- Components: Fixed duplicating a page or saving it as a template detaching component rows from their per-instance overrides (#5949)
- Components: Fixed a newly added row component appearing in the wrong position in the Outline Panel (#5686)
- Global Rows: Fixed modules in a duplicated column losing their Global status in the Global row editor (#5877)
- Fixed a global row's inner column showing a hover overlay when editing a saved Layout template (#5842)
- Fixed a top-level module, such as a Design System component, dropped directly into a row never rendering. The builder sat on a loading spinner until the page was reloaded (#5750)
- Container Module: Fixed
acceptsandparentsrestrictions not being enforced correctly (#5799) - Content Panel: Fixed the panel closing and never reopening when a component is clicked without being dragged (#5499)
- Fixed Copy Settings in the overlay menu not sending column and module settings to the clipboard (#5503)
- Small Data Mode: Fixed backslashes stacking up on apostrophes and quotes when a layout is written more than once in a single request (#5883)
- Fixed layout CSS/JS cache files briefly going missing or colliding when several requests write them at once (#5897)
- Search Module: Fixed the module removing Order By from every loop query with a search term site-wide, even when no Search module was on the page. Posts, Posts Slider, Posts Carousel, Tabs/Accordion and Themer Loop modules now keep their configured Order By when a search term is present (#5713)
- Modules: Fixed core Heading and Button modules being disabled when an addon registers modules with the same display name (#5645)
- Settings: Fixed Modules and Icons silently reverting to all-enabled when every option is disabled (#5604)
- Maintenance Mode: Fixed pages built with Design System modules rendering without styles (#5436)
- Photo Module: Fixed a failed crop of a remote image retrying the download on every page load (#5599)
- Dimension Field: Fixed the selected unit not carrying over when switching breakpoints (#3023)
- Color Picker: Fixed the add and delete preset icons showing for users who don't have access to them (#4702)
- Video Module: Fixed autoplay videos playing while hidden by responsive visibility in Firefox on iOS (#4198)
- Fixed theme and WordPress colors rendering blank when a plugin removes core
global-styles, such as Disable Gutenberg or Classic Editor+ (#3272) - WPML: Fixed field connections that use
post_idnot showing the translated post (#5326) - Subscribe Form: Fixed Mailrelay groups showing empty after Mailrelay retired its legacy API (#5941)
- Cache Clearing Tool: Fixed Hummingbird, Breeze, and Cloudflare caches not being purged when the Beaver Builder cache is cleared
- Translations: Fixed inconsistent translator comments on strings used in more than one place (#5622)
Developer
- Added the
fl_builder_user_access_current_user_canandfl_builder_enabled_templatesfilters, and a per-property filter for Themer field connections (#5832) - Components: Added an
fl_builder_dynamic_node_merge_child_settingsfilter so extensions can apply a per-instance merge to component child nodes, the wayfl_builder_dynamic_node_merge_settingsalready works for component roots (#5766) - Added a
willDropNodeTemplateJS hook so extensions can intercept saved row, column, module and template drops the same waywillDropModuleworks (#5745)
Changes
- WordPress 6.9 is now the minimum required version (#5636)
- Updated welcome page for 2.12 release (#5920)