Install

Works with Drupal: ^10.1 || ^11

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 41.05 MB
MD5: aa3aa66ec3f9cf6737d8c3ca4b0931b0
SHA-1: 2a659f5cab7d0ef773a4d2a58a836b45d39063cc
SHA-256: 71de1827cdf6eb7f0032011ab44ceada9b84a9450657e4c204c125090c695313
Download zip 48.53 MB
MD5: fb8026029fa6566c9c1df17c2401a074
SHA-1: 09ccda0028dc1cf7228e3b7d8f291dcb6a92096a
SHA-256: 854f757d8b4be5a9469c3035185fe2fd8fca47e23344c6da1405e13fd6f8e89e

Release notes

Onboarding

  • Onboarding features now enabled by default on install and upgrade; no manual activation needed.

Editing experience

  • User templates can now be disabled, matching page template behaviour.
  • Multi-item carousel autoplay settings preserved for site visitors.

Performance

  • Automatic lazy loading on all DXPR Builder images.

Icons

  • Icon set libraries now load for icons placed by Drush commands, AI generation, templates, or content migrations; previously these icons rendered blank for visitors until the page was re-saved in the editor.

Stability

  • Fixed duplicate IDs in counter elements.
  • Tab pane content slot validation corrected.
  • Raw HTML elements skipped during link enrichment migrations, preventing content corruption.

Documentation

  • Narrated videos added for every Build Pages guide.

Previous beta releases

3.0.0-beta21

Getting started

  • New onboarding companion walks first-time editors through the builder with guided learning journeys, progress milestones and contextual tips, so new team members are productive without formal training.

Editing experience

  • Each editor can now choose their own element controls layout from a new Editor Settings modal, overriding the site or role default.
  • Hovering an element shows a compact breadcrumb trail instead of stacked labels, so nested layouts no longer inflate the page in the editor.
  • Redesigned layers panel with clean, card-style controls for a faster overview of the page structure.
  • Editable Styles set: define and apply multi-class style presets directly from the editor toolbar.
  • Copy and clone improvements: copies get their own HTML ID, Ctrl+D and Ctrl+C follow the More menu, and cloned toggles open automatically.
  • HTML classes field now shows every class on the element, with multi-class presets displayed as a single chip.
  • Template browser shows all available templates in the order your builder profiles apply.
  • Keyboard shortcuts regrouped and letter keys shown in uppercase for easier scanning.
  • Page no longer scrolls behind settings dialogs or Add Section Below; live preview pauses while a dialog is open.
  • Local video Muted, Appear boundary, outlined Link buttons and Parallax speed settings now work correctly.
  • Panels styled for Bootstrap 5; collapse panels keep their control bar at the top.
  • Row layout changes revert cleanly on modal cancel.
  • Breakpoint layouts recalculate automatically when the column count changes.

Icons

  • Font Awesome upgraded to 7 with automatic migration of existing icons across your content.
  • 1,530 Phosphor Icons added as a new icon set, alongside Font Awesome and Bootstrap Icons.
  • Icon picker opens faster (virtualised rendering) and shows the live icon count as you search.
  • New elements start with a default icon instead of a blank placeholder.

Performance

  • Editor scroll and load performance on long pages: pages with many text elements no longer create duplicate editor instances, eliminating stale toolbars and memory buildup.
  • Controls and layout calculations are now viewport-aware, reducing work on elements outside the visible area.

AI

  • AI rewrites now land in the text element directly, without errors.
  • Clicking a disabled AI control shows a single clear message explaining how to enable it.
  • Admin-configured model restrictions are now enforced in the editor.

Site administration

  • CKEditor 5 updated to 48.5.2.
  • Builder caches are properly tagged and invalidated, fixing stale-content edge cases.
  • Product key on General Settings re-syncs editors on change, refuses invalid keys, and keeps the key out of clear text.
  • Editor endpoint URLs are omitted from anonymous page renders.
  • Deprecated drupal_static() calls replaced for Drupal 11 compatibility.
  • Three pre-existing drupal-check Drupal 11 errors resolved.

Content migrations

  • All content migrations now run as a batch operation with a status report, admin page and progress flags, so you can track what has been migrated and what remains.
  • Circle counter migration produces unique IDs, correct arc colours and a render fallback for legacy content.
  • Demo content circle counters migrated from Circliful to Bootstrap progress.
  • Legacy Glazed-to-DXPR string migration removed.

Stability

  • Column and Row control bars now hide on pointer leave, even without editor mode.
  • Row grid icon labelled, custom row layout visible, Divider width help corrected.
  • Social links classes no longer leak into the extra classes field.
  • Element boxes resolved by the correct data attribute, fixing edge cases with CKEditor controls visibility.
  • White icon colour restored on the selected state in the icon picker.
  • Class and style merge from section child divs no longer loses values.
  • Class names no longer garble when non-structural divs are direct section children.
  • Element settings preserved when parsing clean HTML.
  • Empty inline elements such as icons kept when editing Text elements.
  • HTML element content written outside the builder is preserved.
  • Empty-container UI preserved in preview mode.
  • Smooth scrolling now loads on every page and works inside any scroll container.
  • Drupal Block content stays opaque in the editor.
  • Profile form editor buttons aligned with the current CKEditor 5 build.
  • Fixed crash when a View returns no markup.
  • Reinforcement learning experiment borders no longer visible in preview mode.

Documentation

  • Complete documentation site with narrated video guides and screenshots for every element and feature.
  • Docs source files included in the release; images and videos served from the CDN.

Dependencies

  • Updated autoprefixer, twig, pickr, ace-builds, floating-ui/dom, tom-select, openai, webpack-cli, css-loader, puppeteer, jsdom, stylelint and stylelint-scss.

3.0.0-beta20

Heads up for custom themes: accordion and tab elements now use transparent backgrounds and inherit text colour from their container instead of using hardcoded white/grey. If your theme sets a dark or coloured section background, verify that accordions and tabs look correct.

Editor

  • Three new tab display styles: Default, Modern (rounded cards with chevron and description), and Accordion (collapsible headers with separator lines).
  • Tabs now support an optional description line beneath the title, with inline rich text editing.
  • Animations inside tabs and collapsible elements now play on tab switch or panel toggle.
  • Jumbotron element now has a type dropdown for choosing background colour and style.
  • Accordion and tab elements now inherit colours from their container, so they look correct on dark or coloured sections.
  • Consistent button placement, labels, and close buttons across all editor modals.
  • Date picker now shows clean, styled dropdowns for month and year selection.
  • General settings toggle now always appears first in element settings.
  • Placeholder text in settings panels is now visually distinct from typed values.
  • Tooltips no longer display raw HTML markup.
  • Fixed a crash when opening experiment settings from the controls dropdown.
  • A/B test variant buttons now match the full height of the controls bar.

Theming

  • New public token API: theme developers can safely override --dxb-* CSS custom properties (colours, borders, shadows, spacing) without affecting the editor UI.
  • Editor UI is hardened against Drupal theme CSS bleed-through, rendering consistently regardless of active theme.
  • Browser support is now limited to current evergreen browsers only.

3.0.0-beta19

Editor

  • New smart sort: accordion and tab items can be automatically ranked by visitor engagement using reinforcement learning, sharing the same experiment infrastructure as A/B testing.
  • Anchor link smooth scrolling now works on themes that use body-level scrolling.
  • Toast notifications now stay visible longer for longer messages.

AI

  • Fixed the wait cursor flickering during content streaming.

3.0.0-beta18

Editor

  • Social links are now edited with a visual form instead of a code editor.
  • Multi-item carousel navigation no longer freezes after cycling through all items.
  • Preformatted text is now available in the heading dropdown.
  • Undo history is compressed, allowing many more steps before hitting the browser storage limit.
  • Fixed controls snapping to the wrong position on tall elements with scroll-following enabled.

AI

  • The loading status now describes what the AI is about to do instead of just "Thinking".
  • Clone failures now show an honest error message instead of silently inserting placeholder content.
  • AI page-wide edits are more faithful: the prompt now instructs the model to preserve unchanged content exactly rather than rewrite it.
  • Hardened the prompt system with better placement vocabulary, injection guards, and truncation.

3.0.0-beta17

Editor

  • Custom CSS classes that share a prefix with structural classes (e.g. "carousel-livre") are no longer stripped on save.
  • Multi-item carousels now reduce visible items at smaller screen sizes instead of overflowing.
  • Icon sets are now extensible: modules and themes can register their own via YAML discovery, and site builders can toggle which sets are available per profile.
  • Fixed the icon search input collapsing to a narrow width.

AI

  • The AI status bar now shows which content language will be used for generation.
  • Chat conversation history is now included when generating content, so the AI remembers what was discussed earlier in the conversation.
  • Tone of voice and command labels are now translated on multilingual sites.

3.0.0-beta16

Editor

  • Carousel dot indicators now match the frames-per-slide setting instead of showing one dot per slide.
  • Font Awesome Regular icons are no longer silently dropped on save.
  • The selected-element outline is now removed when entering preview mode.

3.0.0-beta15

Editor

  • Divider elements can now be dragged independently instead of moving their parent column.
  • Fixed the CKEditor source editing view collapsing to a single row.
  • Fixed font library declarations causing PHP warnings on every page load.

AI

  • The AI settings modal now shows a preview of the selected tone of voice template.
  • AI-allowed domains are now synced to the AI module so image URLs are no longer stripped from responses.
  • Fixed CSS shorthand values like three-value padding and calc() expressions being silently dropped or misapplied in the box model controls.

Performance

  • Controls positioning is batched into fewer layout passes, reducing jank on content-heavy pages.

3.0.0-beta14

Performance

  • Pages load significantly faster for visitors, with smarter asset loading and fewer unnecessary requests.
  • Animations are smoother and no longer slow down page interaction.
  • The editor feels snappier when resizing, scrolling, and working with large pages.

Editor

  • The link dialog now suggests existing pages and content as you type.
  • Drag-and-drop images are automatically optimised, and replacing an image keeps the same quality settings.
  • Files that are too large are now caught before upload with a clear error message.
  • Fixed the icon picker not showing the selected icon's name.
  • Fixed videos from Media Library not working correctly.
  • Fixed text editor toolbar not loading in the correct language on sites where the Drupal language code differs from the CKEditor code (e.g. es-es vs es).

3.0.0-beta13

AI

  • AI Chat now suggests A/B tests so you can try different versions of your content and see what works best.
  • The example prompts shown in AI Chat now adapt to the page: an empty page gets different suggestions than one with content already on it.
  • Fixed an issue where AI responses could appear twice in the chat.
  • AI Chat gives shorter, more focused responses.

Editor

  • You can now drag files from your desktop straight onto the page to upload them.
  • The video element now lets you pick videos from your Media Library.
  • More reliable detection of unsaved changes before leaving the page.

Dependencies

  • CKEditor updated to 47.6.2; ckeditor5-ai-agent bumped to 1.3.1.

3.0.0-beta12

AI

  • Chat responses now render with full markdown formatting: tables, lists, code blocks, and inline styles instead of plain text.
  • Image generation upgraded to WebP output for smaller file sizes and faster page loads.
  • Fixed the page scrolling past the AI loading indicator when generation starts.

Editor

  • Fixed drag and drop broken for sections and many elements. A runtime CSS patch was overriding the compiled styles and disabling drag handles.
  • Fixed marquee images collapsing to zero height when the active theme sets height: auto on images.
  • Fixed row layout grid showing identical equal-width columns for every preset, making asymmetric layouts indistinguishable.
  • Fixed icon elements being silently converted to text on edit, losing the icon entirely.
  • Fixed content created by AI or pasted as raw HTML being silently dropped when it contained standalone elements like icons, line breaks, or empty spans.
  • Fixed Bootstrap container sections pasted without builder attributes being skipped by the HTML parser.
  • Fixed empty structural elements being duplicated as new sections on reload.

3.0.0-beta11

AI

  • New conversational AI Chat mode lets you describe changes in natural language and have the builder apply them.

Editor

  • Fixed text format being overwritten when updating pages via Drush.
  • Fixed console errors when closing editor dialogs.

3.0.0-beta10

Layers mode

  • New Show IDs toggle reveals element IDs next to layer names, useful for agentic workflows and debugging.
  • New Collapse All toggle quickly flattens deep layer trees. Both toggles persist across sessions.
  • Removed the standalone Layers button from the controls pill bar since Layers is already in the view mode dropdown.

Editor

  • Preview mode toggle now uses a bright red eye-off icon so it is immediately obvious when content editing is disabled.
  • Fixed AI content generation returning 403 errors after another user visited the same page. The editor was serving a cached security token from the first visitor's session to everyone else.
  • Fixed images, iframes, and other standalone elements inside columns being silently dropped on save.
  • Fixed Row and Carousel controls flickering when moving the mouse between an element and its parent controls.
  • Fixed icon elements crashing when the icon element type is not registered.
  • Fixed unwanted focus outline appearing on modal buttons during mouse interaction.

3.0.0-beta9

Editor

  • Redesigned CSS Box controls. Sliders replace manual number inputs for margin, padding, and border, with a px/% toggle and full keyboard support.
  • AI pill now visible on mobile viewports.
  • Saved pages are now lighter and load faster. Three sources of invisible markup bloat have been eliminated from the save output.

Layers mode

  • You can now drag elements between containers directly in the layer tree instead of cutting and pasting in the visual editor.
  • Empty state message shown when no elements exist.

Bug fixes

  • Fixed element controls overlapping and jumping away from their elements on complex nested layouts.
  • Fixed clicks being swallowed by invisible controls outside the editor area.
  • Reverted a beta5 fix that caused content loss in some column layouts.

3.0.0-beta8

Layers mode

  • Clicking a layer entry now scrolls the element to the center of the viewport without changing the URL hash.
  • Improved search, toolbar layout, and template structure in the layers modal.

Editor

  • View mode dropdown now shows a caret indicator; container controls stay full-size in power user mode.
  • Fixed controls appearing in stale positions after viewport resize (e.g. connecting an external monitor or rotating a device).
  • Fixed counter element crashing when its inner element is missing.
  • Fixed button element crashing when its anchor or button tag is missing from the DOM.

Performance

  • Layout parser now classifies element classes in a single pass instead of 21 repeated iterations per DOM node.

3.0.0-beta7

Layers mode

A new Layers button in the container toolbar opens a compact panel that shows every element as a flat, sortable list. Drag handles let you reorder elements (including carousel slides, tab panes, and marquee images) without navigating the visual layout. Layers mode uses compact controls so dense pages stay manageable.

Bug fixes

  • Fixed AI popover not dismissing on outside click
  • Fixed typo "Time onelement" in experiment settings modal
  • Fixed template filter leaving orphan delete buttons visible
  • Fixed keyboard shortcut badge missing from AI Agent dropdown item
  • Fixed leftover glyphicon icon on Add Section button
  • Fixed untranslatable strings in layers modal

3.0.0-beta6

Update path

  • Renamed duplicate update_9020 to update_9021. Sites on beta5 could not run drush updb because two hooks shared the same number.

3.0.0-beta5

Editor

  • New view mode dropdown replaces the preview button, with persistent mode selection across page views and mnemonic keyboard shortcuts.
  • Fixed runtime-only attributes and classes leaking into saved HTML, causing unwanted markup to accumulate on every save.
  • Fixed bare void elements (like <img> and <hr>) inside columns being silently dropped by the HTML parser.
  • Fixed element controls appearing on hover during Preview mode.
  • Fixed container controls losing their sticky scroll-follow behavior after the beta4 CSS hardening.
  • Fixed Enter key not submitting confirmation modal forms.

Update path

  • Fixed update hook 9019 crashing on sites where the Key module was not yet installed. The hook now installs the module before accessing its entity storage.
  • Bumped to update hook 9020 so sites where 9019 previously failed will automatically re-run the migration.

3.0.0-beta4

We redesigned the entire editor from the ground up. Beta4 introduces an AI-first design system, agentic editing tools, and built-in A/B testing.

We rebuilt the entire editor for AI

The entire editor UI has been rebuilt from a Figma design system with its own design tokens. Modals, controls, buttons, dropdowns, and the AI interface now share a consistent visual language that stays sharp on mobile and resists theme CSS bleed.

AI agents can build your pages now

DXPR Builder is now fully agentic. AI coding assistants can see, select, and edit any element on the page through WebMCP tools and llms.txt discovery.

Your API keys never leave the server

AI is no longer a bolt-on. Chat and image generation now route server-side through Drupal's ai module via ai_provider_dxpr, with streaming SSE support. API keys never touch the browser.

Every element optimizes itself with reinforcement learning

Every element in DXPR Builder can now run A/B tests powered by reinforcement learning. Right-click any element to create variant arms and the RL module's Thompson Sampling algorithm treats every visitor click as human feedback, continuously shifting traffic toward winners.

For robots and power users

  • Show all controls. A new toolbar toggle (Ctrl+Shift+.) reveals every element's controls and ID at once.
  • Select element modal. Press Ctrl+Shift+, to open a modal that lists every element grouped by container.

Architecture

  • Removed all jQuery and jQuery UI dependencies.
  • New CircleCounterMigration and ProgressBarMigration automatically convert legacy element markup on render.
  • The key module is now a required dependency.
  • Uploaded files now marked as permanent with tracked usage to prevent cron deletion.

Bug Fixes

  • Fixed AI rewrite producing off-topic content when reference URLs were large
  • Fixed AI loading overlay getting stuck on server error
  • Fixed AI-driven carousel edits routing to append_inside instead of replace_entire
  • Fixed double chevron icon and missing font-family/font-weight on accordion headings
  • Fixed smoothScroll hash-navigation blocking on empty hash
  • Fixed data-azcnt parsing causing duplicate elements and lost layout wrappers
  • Fixed controls not positioning correctly for hidden elements
  • Fixed progress bar background colors lost after animation feature merge

3.0.0-beta3

Drupal Integration

  • View displays embedded via the az_view-* CMS element now honor the display's access plugin (Role, Permission, or custom access plugin).
  • Access-denied responses for views and blocks now carry the correct cacheable metadata.
  • Views with the exposed filter "remember" option enabled now persist per-session state on non-cron requests.
  • Users' URL query parameters for exposed filters take precedence over authored defaults.

Architecture

  • Removed the redundant data-azat-el_class attribute from saved HTML. Saved HTML is smaller; legacy content continues to parse correctly.

Bug Fixes

  • Fixed relative URLs being converted to absolute URLs on save for link, image, and icon fields.
  • Fixed the image style dropdown silently reverting to "Optimize" when no style could be detected from the URL.
  • Fixed client-side image-style switching being broken for URLs without a ?fid= parameter.

3.0.0-beta2

AI Coding Assistant Integration

  • Agent Skills standard support: DXPR Builder ships with a built-in Agent Skills file that teaches AI coding assistants how to build pages through natural language. Compatible with Claude Code, Codex CLI, Gemini CLI, GitHub Copilot, Cursor, and other tools.
  • Run drush dxb:setup-ai to install skill files and enable AI assistant support.

3.0.0-beta1

Bootstrap 3, Bootstrap 4, and jQuery are removed!

Architecture and Performance

  • Clean Bootstrap 5 HTML as primary storage format
  • Implemented WASM-based HTML optimization using Rust for significant speed and AI improvements
  • Removed all jQuery dependencies: the entire frontend has been rewritten in vanilla JavaScript
  • Removed Bootstrap 3 support: the editor now targets Bootstrap 5 exclusively
  • CKEditor 5 updated from v45.2 to v47.2.0

Editor and UI

  • Breakpoint-per-panel accordion in row layout modal
  • Integrated Font Awesome Regular (far) icon set into the icon picker
  • Brand-aware Bootstrap 5 utility styles in CKEditor
  • Added keyboard shortcuts to all dropdown menu items
  • Improved Drupal settings form UI

AI Features

  • Generate AI Background Images: create custom background images for any section or element using natural language

Accessibility

  • Added Move Up/Move Down controls to element dropdown menus for WCAG 2.5.7 compliance

Content and Rendering

  • File uploads now create proper Drupal Media entities for better integration with the media library
Created by: jurriaanroelofs
Created on: 8 Oct 2026 at 14:00 UTC
Last updated: 8 Oct 2026 at 15:31 UTC
Bug fixes
New features

Other releases