Skip to content

Changelog

  • AI Content Generation for single text fields
  • Preview: AI Full-Page Content Generation
  • Minor fixes to features introduced in 5.0.0

New Feature: A/B Testing and Multischeduling

Section titled “New Feature: A/B Testing and Multischeduling”
  • Multischeduling: create variants and set scheduled publish and unpublish dates for each variant.
  • A/B Testing: set a weight for each variant. When multiple variants are active at the same time, React Bricks serves them according to their weights.
  • Added createAbTestingMiddleware for Next.js Pages and Astro, and createWithAbTestingMiddleware for Next.js App when chaining with the i18n middleware is needed.
  • Added A/B Testing implementation examples using middleware and analytics on the ab-testing branch of the starter projects.
  • Added createI18nMiddleware to make i18n routing easier to manage in Next.js App and Astro projects.
  • Connect your Email Sending Provider from the dashboard. Supported providers include MailChimp, Brevo, Mailerlite, GetResponse, SendGrid, Resend, and ConvertKit.
  • Create a pageType with isEmailMarketing: true to identify email marketing pages.
  • Email marketing page types can define a renderWrapper function and a renderEmailHtml function, which can use the render function from react-email.
  • Pages with isEmailMarketing: true include options to select an ESP, list, sender, and campaign name, and to send a test, send the campaign, or schedule it.
  • Added optional email marketing bricks based on react-email to the starter projects, which can be installed by the CLI.
  • Create forms from the dashboard, with options to save submitted data, send an email with the data, subscribe users to an Email Sending Provider list, and call a Zapier webhook.
  • sendFormSubmission function to send form data to a form, usable in “form” bricks.
  • Google Recaptcha v3 protection.
  • Set an API prefix for React Bricks API URLs, such as xx.api-reactbricks.com, for EU/US data residency and enterprise custom use cases.
  • Enterprise customers can now choose EU or US data residency.
  • ISO/IEC 27001:2022 certification obtained.
  • Warning when leaving the editor if content is not saved.
  • Themes can now define bannerText and bannerImage.
  • Bricks and stories can be disabled with optional disabledIcon (purchase or maintenance), disabledLink, and disabledTooltip settings.
  • Select options from sideEditProps can be disabled with an optional disabledTooltip.
  • Multifactor authentication: Configure from the dashboard and use across Admin, Dashboard, and CLI.
  • SEO noindex and generator: Set “noindex” and hide the “generator” meta tag at page level (Admin > SEO) or site-wide (Dashboard > App Settings).

With the v4.7.7 release, we are officially deprecating support for Gatsby and Remix frameworks. The related starter projects will be removed from our CLI.
We’re focusing our development efforts on Next.js and Astro to deliver the best possible experience and robust features for content-focused websites. This decision allows us to dedicate more resources to improving our core framework support.
If you’re currently using React Bricks with Gatsby or Remix, we recommend planning a migration to either Next.js or Astro: your existing bricks will remain almost identical in the new frameworks. If you need assistance with migrating from Gatsby or Remix to Next.js or Astro, please don’t hesitate to contact our support team via the website chat: we’re committed to helping you make a smooth transition.

  • Fixed issue where page slugs containing multiple slashes (/) caused errors.
  • The renderWrapper function can now also be defined on the <Preview> component.
  • A renderWrapper function can now be defined on a pageType to wrap content in different environments: Admin, frontend, and preview. See Page Types.
  • Media Library: Automatically focus on search field when Media Library opens or when “Replace image > From library” is selected
  • Library prepared for AI integration
  • Fixed bugs related to style handling for CSS-in-JS libraries
  • Color knob: improved the border style, using a shadow for better display of gradients
  • Fixed Unsplash API calls when an API key is provided
  • Fixed file and image uploads in Astro projects
  • Unsplash now returns higher-resolution images for the original version
  • Support for Astro 🎉🎉🎉
  • Support for React 19 and Next.js 15
  • RTL Support: better support for languages that use a right-to-left script, such as Arabic. RTL languages can be configured with the rtlLanguages configuration prop. The ReactBricksContext also exposes an isRtlLanguage utility function.
  • Headless View: Enable headlessView at page type level to edit structured entities with custom fields in a form-based view instead of the visual editor.
  • Icon component to render icons selected with an IconSelector control
  • warningIfLowBattery flag to alert users to save their work or charge their device when battery levels fall below 15% without a power source connected
  • Validation on sidebar controls now triggers a warning when saving, including for deeply nested repeaters.
  • Better typings for icons

  • Save warnings are now shown for validation errors in deeply nested bricks.

  • Read-only images now use the original image source in Admin instead of the source set, avoiding references to images that have not been processed yet.

  • Better outline for selected items inside a repeater
  • When using RSC, bricks wrapping client components were not selectable when inside a repeater
  • Fixed item labels for repeaters with multiple item types

  • The iconSelectorOptions now accepts an array of possible icon sets
  • Added new icon sets Feather and FontAwesome, bringing the total to 4 sets (Hero Solid, Hero Outline, Feather and FontAwesome)
  • Removed “Experimental” label from the IconSelector control

  • Introduced the getDefaultMeta function for page types, allowing new pages to start with default metadata, Open Graph data, and Schema.org information, including data from external API calls such as a headless commerce system.
  • Resolved issues with repeater items in Page Template Slots

New Feature: Page Templates (experimental)

Section titled “New Feature: Page Templates (experimental)”
  • Configure a template on a pageType, composed of slots.
  • Each slot has a name, label, minimum and maximum number of blocks, allowed bricks, editable status, and optional default content.
  • Useful for pages such as e-commerce product detail pages, where some fixed sections can use data from external APIs while other sections remain flexible for content editors.
  • New <Slot> component to render a single page slot, interleaving React Bricks-managed content with custom code.
  • Login via SSO for the Admin interface
  • New <List of="..." where={}> component to render elements of a specific pageType, with support for filtering by tag, language, and custom fields, and for sorting results.
  • Localization: icons showing working copy, pending approval, draft, and scheduled statuses are now displayed on each language tab.
  • Playground: updated UI for pageTypes
  • Improved nested items UI
  • Improved styles performance to avoid FOUC in Admin upon page change
  • RichText: fixed the link modal in Safari

  • Image: fetchPriority camel case for React 19 (used by Next.js)
  • Missing-brick warnings now use unique brick names

  • The RepeaterItems type now accepts a generic type, so props returned by getDefaultProps are fully typed for nested items too.

  • Fixed key warning for Nested items sidebar in some conditions
  • Fixed camel-case fetchPriority attribute on DOM image

  • Experimental sidebar repeater items: when a block is selected, the sidebar is split into two tabs, “Block Props” and “Nested Items”. Nested items show the current and maximum item counts. The add button remains visible after the maximum has been reached, but is disabled with an explanatory tooltip.

  • Nested bricks: added an experimental sidebar control for easier management, including reorder and delete actions. Enable it by setting experimentalSidebarRepeaterItems to true in the React Bricks config.
  • Experimental Icon Selector in SideEditPropType, with autocomplete search for icons.
  • DAM (Media library): link to media URL and open media in new window
  • Improved brick screenshots from the Playground, fixing generated image issues in some CSS flex layouts
  • Added Superscript and Subscript to RichText features
  • Autocomplete: added renderOption to render complex JSX for each option, not just a label
  • Autocomplete: getOptions now receives props as a second argument, so the fetch function can depend on other prop values
  • Dashboard: new filters for change history: users and pages are now autocomplete fields
  • Advanced SEO: Fixed a problem with schema.org nested fields

  • RichText links are now implemented as a RichText plugin.
  • RichText links now support a target. If target is “_blank”, rel is automatically set to noopener for security.

  • New autocomplete type for sidebar controls, with debounced asynchronous fetching based on search text.
  • See SideEditProps Docs
  • Set quality on the Image component, image sideEditProps, or image customFields to control image compression.
  • See Image properties

Support for React Server Components 🎉🥳🍾

Section titled “Support for React Server Components 🎉🥳🍾”
  • Complete support for React Server Components with minimal change to bricks’ structure
  • RSC-compatible bricks are cross-platform: they work also on Next.js with Pages router, Remix or Gatsby
  • New starter projects for Next.js 14 with App Router and RSC
  • See Server Components Docs to see how to create RSC-compatible bricks

New feature: Fetch external data at brick level

Section titled “New feature: Fetch external data at brick level”
  • Fetch external data at brick level. See External content Docs
  • This feature works cross-platform, not just for RSC

Minor fixes


  • Decouple saving a page from publishing it through a Working Copy mechanism
  • Activate the Approval Workflow so only users with the proper permission can approve changes
  • See Approval Workflow Docs to see how it works
  • The change history for a page is accessible from the “Page” tab of the right sidebar.

From the dashboard, choose which users can:

  • Edit SEO attributes (meta, slug, Open Graph, Twitter, Schema.org)
  • Edit page attributes, such as visibility, page type, and author.
  • Better SEO management: changes are applied immediately without saving in each tab, and the slug has moved to the SEO view.
  • Header: added an icon with a tooltip for a quick view of last modified date and author, visibility status, lock status, and editing status.
  • Left sidebar: the environment name is shown when it is different from “main”.
  • The slugPrefix of a page type is correctly applied upon page creation

  • Fixed a missing dependency.

  • Fixed click-outside behavior in Media Library popovers.
  • Unsplash: better mapping of alt and title fields.
  • Normalization of file name in Media Library and SEO name in the image edit modal.

  • New function getSchemaOrgData to support JSON-LD injection in Remix starters.

  • Fixes related to external data and embeds.

  • Added metadata, Open Graph, and Twitter Card SEO fields for all plans.

  • Media Library: a complete DAM (Digital Assets Management) system
  • Multiple Environments (content branches): create environments from the Dashboard and choose the active environment with the environment configuration property.
  • Advanced SEO: new interface to manage meta tags, Open Graph, Twitter Cards, and Schema.org entities; use renderMeta() and renderJsonLd() to render them.
  • Slug Prefix: set a slug prefix on page types with slugPrefix.
  • Read-only Image: use the React Bricks Image component for read-only images with the readonly attribute, for example images coming from custom fields of related entities.
  • Show/hide sidebar controls of a brick by user or page, for example by custom role or page type. The show function of sideEditProps now receives the page and logged-in user as arguments.
  • Relationship field: now saves only the related entity ID by default. You can also choose to embed the full related entity content, updated at build time or runtime.
  • Improved Image component: upload a file or choose an image from a URL, Unsplash, or the Media Library.
  • Improved File component: choose files from the Media Library and see upload progress.
  • Allowed extensions: allowed extensions are now always a subset of the generally allowed MIME types and extensions.
  • Accents in slugs: set allowAccentsInSlugs to allow accented letters in page slugs.

  • Added a link to the live website in the Admin header. The hostname is configured in the dashboard.

  • File component: the frontend render function now receives the SEO-friendly URL in the url argument.

  • The RichText component has a customFieldPlainText prop (true by default). If set to false, values are not transformed to plain text when saving to a custom field.
  • Tags autocomplete on pages now filters by page language, for example showing only tags from Italian pages on an Italian page.

  • Fixed File SEO name management, preparing it for the upcoming Digital Asset Management (DAM) feature and enterprise custom CDNs.

  • Fixed the confirm-delete-file dialog style when the file name is long.

  • The Image component can now be set as readonly with a source, allowing it to render images that should not be visually editable, such as images from the pages used in a posts list.
  • Improved File component with new interface and upload progress bar
  • Upload progress bar on image component
  • Tags can be fetched by language; in the tags interface of the Page tab, only tags in the current language are shown
  • Left sidebar: show pages with an unknown pageType so they can still be accessed or removed.
  • Fixed the Image component modal when no source was available.

  • In the Image modal, images can now be marked as “high priority (above the fold)”. High-priority images use loading="eager" when the browser supports native lazy loading, or skip React Bricks lazy loading otherwise. In both cases, fetchPriority is set to high.
  • Updated and replaced dependencies so no dependency declares a React <18 peer requirement.
  • On Text and RichText, the renderBlock and placeholder props are no longer required. By default, a simple paragraph is rendered and the placeholder is “Type a text…”.
  • The TextValue type is exported to allow correct typing of text and rich-text props.
  • More robust fetching of the latest version from the npm registry
  • Prevented very long page names from hiding the save button.

  • Added getExternalDataArgs to the fetchPage function to pass arguments to getExternalData. This is useful for data that depends on path params rather than the page itself, such as product variants in an e-commerce site.
  • Fixed problems with Collaboration introduced in 3.9.0
  • Fixed image modal save of alt and seoName introduced in 3.9.0
  • Better Link typing
  • The link of the news popup in the Admin has target _blank

New feature (for Enterprise plans): Flexible Permissions

Section titled “New feature (for Enterprise plans): Flexible Permissions”

Enterprise plans can set fine-grained permissions at user, page, language, and brick level by providing canAddPage, canAddTranslation, canSeePageType, canSeePage, canEditPage, canDeletePage, canDeleteTranslation, and canUseBrick in the permission object of the React Bricks configuration.

See the Permissions documentation.

Custom roles can be created from the Dashboard and assigned to users for use in the permission functions.

New feature: Stories as bricks in “Add new”

Section titled “New feature: Stories as bricks in “Add new””

Stories created in brick code can now appear as bricks in the “Add new” menu by using the showAsBrick flag.

See the Stories documentation.

Bricks can be specified as a structured array (themes > categories > bricks), preserving category order without specifying theme and category on every brick. The config structure overrides the theme and category set on individual bricks.

See Configuration, Theme, Category

New feature: getDefaultProps for Repeated items

Section titled “New feature: getDefaultProps for Repeated items”

Each repeaterItem can now define a getDefaultProps function to override its default props in a repeater.

See Repeated Items documentation

Set a custom placeholder for each <Image> component.

See the Image documentation.

  • The select control getOption function now receives all the props as an argument.
  • In the Playground, the selected brick is persisted across page refresh
  • On the Link component, set the simpleAnchor attribute to bypass the local link renderer (SPA router), even for local paths.
  • Better typing for the Link component
  • Typings for the returned value of getDefaultProps
  • Improved performance on large pages (core rewrite! ⚙️)
  • Slashes are allowed in the page slug to enable better organization of paths in the website.
  • Icons are outside the bricks by default
  • In the Playground, the bricks with hideFromAddMenu = true are hidden
  • Removed brick min-height if icons are outside
  • Fixed repeated items props in Playground
  • Removed white border around bricks in preview
  • Props for Stories in code are now as expected, like the getDefaultProps ones
  • Sidebar radio controls: fixed problem with multiple radio buttons groups sharing the same values
  • Sidebar: fixed problem with collapsing of groups of props, when changing focused brick
  • Fixed text refresh for repeated items

New feature: News in Admin for important communications

Section titled “New feature: News in Admin for important communications”

Important announcements can now be shown in Admin.

Improved featureFlags management.


New feature: “can edit content” on locked block

Section titled “New feature: “can edit content” on locked block”

Enterprise plans can now prevent content editing, both inline and via sidebar controls, for locked blocks. The same restriction can be applied to default content blocks with the canEditContent flag on the block default content.

  • Removed two invalid DOM attributes from the Image component in Admin Preview.

  • Fixed bug in imageClassName introduced in v3.8.7.

  • New placeholder image, proportional to the Image aspectRatio (if set), respecting the maxSize (if set).

  • Fixed props displayed in the Playground for multi-item Repeaters
  • Fixed default props for multi-item Repeaters
  • Fixed key warnings for Repeaters
  • Fixed hydration errors

  • Improved performance of the “Add new” sidebar
  • Restored pink border on parent block when a child block is focused
  • Fixed duplicate block behavior
  • Fixed hydration warning in PageViewer

Bricks can now define a theme, and editors can select themes in the “Add new” interface.

  • Improved the “Add new” UI with 2 columns
  • Deprecated the enablePreviewIcon configuration key (if there is an icon, it is shown)
  • Updated packages
  • Fixed RichText focus problem in development

  • Improved performance of Text and RichText components
  • Fixed sidebar controls props not changing properly
  • Fixed quick flash of “Made in React Bricks” banner on paid plans

Fixed a blocking bug caused by a missing dependency in the production bundle.


New Feature (for Enterprise plans): Lock at block level

Section titled “New Feature (for Enterprise plans): Lock at block level”

You can now lock individual blocks in a page instead of locking the entire page.

See Locked structure

New Feature: More flexible default for pageTypes

Section titled “New Feature: More flexible default for pageTypes”

For a page type, you can now specify default content in multiple ways.

The array of blocks can contain, for each block:

  • A string (the name of the brick, default content for the brick will be used)
  • A brick name with a story name (the content from the story will be used) and lock status for the block (locked, canAddBefore, canAddAfter)
  • A IContentBlock (block content with every prop and lock status)

See Page Types

You can now add stories for a brick in code by adding a stories array to the brick’s schema. This is useful for documenting stories that are part of your design system style guide. Editors will see both schema stories and stories they created. User-created stories can be deleted, while schema stories cannot, because they are part of the design system definition.

See Brick’s schema

  • The React Bricks version is now available on ReactBricksContext, which you can access through the useReactBricksContext hook. See useReactBricksContext.
  • The footer now shows the current React Bricks version. If it is not the latest version, a small warning icon shows the latest version in a tooltip.

You can now embed pages or entities inside another page, keeping them as a single source of truth. When the embedded page changes, the change is reflected in every page that embeds it. See Page / Entity embed

  • On a sidebar prop you can now set a helpText that is rendered below the control.
  • You can now disable “click to edit” by setting clickToEditSide to “NONE”, or by using a PageViewer with showClickToEdit set to false.

  • Fixed a Repeater bug where repeated bricks using hooks caused a Rules of Hooks error.
  • Fixed a collaboration bug with Remix

You can now search for images on Unsplash. See Unsplash integration. You can configure your own Unsplash API key using the unsplashApiKey configuration parameter. Otherwise, each app is limited to 20 searches per hour.

Of course, you can disable the feature via the enableUnsplash configuration flag.


  • You can now set the shouldRefreshStyles flag on a sideEditProp when changes to that prop can inject new CSS styles through a CSS-in-JS library. This ensures the new styles are loaded correctly.

The <Repeater> component now supports any level of nesting. See Nested blocks

New feature: Repeater with multiple item types

Section titled “New feature: Repeater with multiple item types”

A <Repeater> can have multiple types of repeated blocks. See Repeater Items

New feature: Preview bricks with image/icon

Section titled “New feature: Preview bricks with image/icon”

You can set an image and an icon for each brick, so users can select bricks visually from the “Add new” menu. See Bricks schema

  • Much better CSS-in-JS support, also for libraries using the CSSOM to inject styles (remember to set the cssInJs flag on the configuration)
  • Repeated items no longer need to spread ...rest on the main element.

We strongly suggest removing ...rest spreads from repeated items. Leaving them in place can cause browser warnings for unknown attributes on DOM elements, because rest now contains all block props, not only sidebar props. If you destructure props with the same name as a prop that now comes from a visual editing component, such as an image, the prop in ...rest could override the other props.


  • Image: fixed fallback for WebP images
  • Page featured image: added featuredImage for backwards compatibility

  • Image: removed wrapping <div> in Admin
  • Content editor: minor UI Improvements
  • Update packages
  • Sidebar: fixed tab jump on page metadata change
  • Collaboration: avoid self page lock with HMR
  • Text and RichText: fixed cursor jump when Text components are bound to a metaField or a customField

  • Fixed dependencies in the published package

Big milestone: React Bricks now supports real-time presence for users connected to an app, page-level locking, and the ability to force-unlock a page.


If you set the new blockIconsPosition property in the React Bricks configuration to types.BlockIconsPosition.OutsideBlock, the small icons for “add new block”, “delete block”, “duplicate block”, “move up”, and “move down” are rendered outside the block. This is useful for short blocks.


  • RichText: the softLineBreak attribute was implemented but missing from the TypeScript interface. It is now available and works as expected.
  • imageOptions for a sideEditProp or a custom field: maxWidth is optional
  • relationshipOptions for a sideEditProp or a custom field: label is optional
  • filterBy in fetchPages or usePages: better typings

  • Generation of a WebP image, with fallback to JPEG (or PNG if transparent, or GIF if animated). You may disable the WebP generation via the useWebP flag (true by default).
  • Support for sizes for size art direction.
  • Support for native lazy loading. When browser support is detected, React Bricks uses native lazy loading instead of its own implementation. You can disable this with the useNativeLazyLoading flag (true by default). You may also provide the loading prop to override the default lazy value and set it to eager, although this is generally not recommended for performance.
  • containerClassName, containerStyle and noWrapper are deprecated. By default, no wrapper is rendered. The wrapper is still rendered only when using the old containerClassName or containerStyle props.
  • You can provide the more flexible renderWrapper function instead of the props above. The renderWrapper function receives width and height as arguments, so you can calculate the image aspect ratio.
  • Works correctly even with JavaScript disabled.

See Image docs

New feature: Login UI and Menu customization

Section titled “New feature: Login UI and Menu customization”
  • For the Login UI, customize or remove the right image, add your logo with width and height, and change the welcome text and CSS style.
  • For the Admin top menu, provide your own menu using the getAdminMenu function. It receives the isAdmin argument and should return an array of objects with label and path. External paths render as anchor tags, while local paths use router navigation.

See Customizing UI docs

This feature makes it easier to use React Bricks as a headless CMS while still editing entity data visually.

  • Visual editing of page Meta and Custom fields: the Text, RichText and Image components can now be bound to page meta fields, such as title, description, language, and image, or to custom fields. Use metaFieldName or customFieldName instead of the usual propName. Sidebar fields and visually edited fields are bound both ways.
  • isEntity property on pageType: if you create a page type with isEntity set to true, a new tab menu appears on the left to switch between Pages and Entities. Entities are pages for React Bricks, but they may not correspond to real pages in your frontend, keeping editors focused. For example, Entities can include Categories or Menu Items.
  • Custom fields of type relationship with relationshipOptions, used to specify the referenced pageType, label, and optional multiple flag for many-to-many relationships.
  • fetchPages has now a filter option to fetch pages based on custom fields’ value.
  • On each pageType, you can define an array of categories.
  • Editors can then use those categories to organize pages of that pageType from the Page tab.

  • File modal: use target="_blank" to download files.
  • Fixed plan limits for AppSumo users.

  • Fixed default page size limit in fetchPages.

  • Fixed bug in the bricks label with no repeaterItems.

  • Show label of selected brick in the right sidebar.

  • Fixed the IImageSource interface: width and height are no longer mandatory.

  • Playground: better formatted code and style fixes

  • Fixed hydration in PageViewer for React 18 compatibility.
  • Fixed a bug in RichText renderItalic.
  • Minor bug fixes.

  • Added scheduled publishing warnings.
  • Added Editorial calendar in Admin.
  • Fixed a bug where scheduled publishing was not updated on page change.
  • Minor bug fixes.


  • Added “Keep me logged in” to the login interface.
  • Minor bug fixes.

  • Added Preview link in Admin.
  • Minor bug fixes.

  • Added the noWrapper prop to the Image component to avoid the wrapping div.
  • Graphics update: RichText toolbar always inside the brick space.
  • Added aspectRatio to the Image control in Side Edit Props.

  • getDefaultProps is no longer mandatory in the schema.
  • Graphics update: RichText toolbar always inside the rich text space.
  • Minor bug fixes.

  • Number of pages per type beside the type name in the sidebar.
  • When adding a new block, the search input is now focused automatically.
  • Minor bug fixes.

  • Added useVisualEdit to the frontend bundle.
  • Added blockPluginConstructor, markPluginConstructor, and plugins to the frontend bundle.
  • Minor bug fixes


  • Added the index prop to items in Repeater to support conditional rendering based on item index.
  • Added newItemMenuOpen in a brick’s schema.
  • Minor bug fixes.

  • Added a popup in Admin when the user’s email address is not verified.
  • Minor bug fixes.

  • New App settings page with direct links to the dashboard.
  • New page hint if there are less than 3 pages.

  • Added default export for react-bricks/frontend.
  • Minor bug fixes.

  • New File component that allows editors to upload files that may be downloaded by users on the frontend.
  • Smaller JS footprint on frontend: now the library exports two bundles: “frontend” and “admin”.

  • multiline on Text (default false).
  • multiline on RichText (default true).

  • Compatibility with Gatsby: now React Bricks is fully compatible with Gatsby (you can find 2 starters for Gatsby)
  • Stories: you can now save brick configurations (sets of props), so that you (or your editors) can reuse them
  • Images crop and fixed aspect ratio: upon upload it is possible to crop an image. You can set a fixed aspect ratio on the Image component, so that the crop will be limited to that aspect ratio.
  • Bricks organization: you can now assign a category to each brick and an array of tags. Bricks are organized by category and searchable by name or tag. You can also add a link to external documentation for each Brick, which is shown in the Playground.
  • Backup and restore: You can now backup the App content and restore it from the React Bricks Dashboard.
  • History: go back in time for each Page and restore the status before any action.
  • Scheduled publishing (Pro only): with a Pro plan, you can schedule the publishing of a page at a date in the future. React Bricks will change the page status from Draft to Published on that date. Based on the “Trigger rebuild upon scheduled publishing” checkbox in the build hooks settings, React Bricks will trigger a rebuild when the page is published, so that the content will be visible at the scheduled date and time with no action needed on your side.
  • Staging Build Hook (Pro only): now you can set a build hook for the Staging environment and give permissions accordingly to your editor users, so that a user may be able to trigger a build in staging but not in production.
  • Events webhook (Enterprise only): if you are on an Enterprise Plan, you can set a webhook that receives all the Pages and Translations events (creation, update, delete).
  • mapExternalDataToProps on schema, used by Block and BlockViewer.
  • getExternalData on page types, used by usePage, usePagePublic, and simpleFetchPage.
  • Added the multiline prop on RichText and Text, and fixed duplicate save mutations with the “mod + s” hotkey.
  • The RichText component now supports Heading H1..H6 and Quote by default.
  • Added the RichTextExt component, an extensible RichText with a plugin system. The original RichText component, kept for compatibility, uses RichTextExt internally.
  • shouldRefreshText is no longer needed on sideEditProps that affect the style of Text or RichText components.
  • New JSON format that, on average, reduces the transferred payload by 50%.
  • Removed the wrapper <div></div> around the renderBlock.
  • If you set a minimum in repeaterItems, adding a new block now displays the minimum number of that item.
  • On the Page returned by fetchPage or usePage, the translations array isn’t an array of language strings anymore, but an array of objects with language and slug.

If you need to migrate from v2 to v3, please contact React Bricks support for guidance.