Skip to content

Changelog

4.5.6 (November 27, 2024)

New Features

  • 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

Fixes

  • Validation on sidebar controls triggers a warning when saving also for deep nested repeaters.
  • Better typings for icons

4.5.5 (October 31, 2024)

Fixes

  • Warnings on save also for validation errors happening in deeply nested bricks

4.5.4 (October 31, 2024)

Fixes

  • Readonly images now use the original image source in admin instead of the sourceset (to avoid referencing images not yet processed)

4.5.3 (October 21, 2024)

Improvements

  • Better outline for selected items inside a repeater

Fixes

  • When using RSC, bricks wrapping client components were not selectable when inside a repeater
  • Items’ labels for repeater with multiple item types

4.5.2 (October 8, 2024)

Improvements

  • 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

4.5.1 (September 24, 2024)

New features

  • Introduced getDefaultMeta function for page types, allowing default metadata, Open Graph, and Schema.org information for new pages, including data from external API calls (e.g. retrieving Schema.org data from a headless commerce system)

Fixes

  • Resolved issues with repeater items in Page Template Slots

4.5.0 (September 20, 2024)

New Feature: Page Templates (experimental)

  • Ability to configure a template on a pageType, composed of slots.
  • Each slot has a name, label, min and max number of blocks, the allowed bricks, it can be editable or not and have its default content.
  • Great for example for an e-commerce product details page, where you have fixed parts of the page that may get data from external APIs and parts which are more flexible for content editors.
  • New component <Slot> to render a single slot of a page, interleaving content managed by React Bricks and custom code.

Other new features

  • Login via SSO for the Admin interface
  • New component <List of="..." where={}> to render a list of element of a certain pageType, with ability to filter by tag, language, custom fields and to sort

Improvements

  • Localization: icons to show working copy / pending approval and draft / scheduled displayed on the single language tab
  • Playground: updated UI for pageTypes
  • Improved nested items UI
  • Improved styles performance to avoid FOUC in Admin upon page change

Fixes

  • RichText: fix link modal in Safari

4.4.5 - 4.4.6 (August 5, 2024)

Fixes

  • Image: fetchPriority camel case for React 19 (used by Next.js)
  • Warning for not found bricks: now brick names are unique

4.4.4 (August 3, 2024)

Improvements

  • Ability to pass a generic type to the RepeaterItems type, so that the props returned by getDefaultProps are fully typed also for nested items

4.4.3 (August 3, 2024)

Fixes

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

4.4.2 (July 30, 2024)

Improvements

  • Experimental sidebar repeater items: When a block is selected, the sidebar content is split into two tabs: “Block Props” and “Nested Items”. Nested items include the number of items and the maximum number. For better UX, the button to add a new item is displayed even if the maximum number has been reached, but it is disabled and with an explanatory tooltip

4.4.1 (July 26, 2024)

New features

  • Nested bricks: experimental sidebar control for better management (reorder, delete): set experimentalSidebarRepeaterItems to true in the React Bricks config
  • Experimental Icon Selector in the SideEditPropTypes - search icons with autocomplete

Improvements

  • DAM (Media library): link to media URL and open media in new window
  • Improved brick “screenshot” from the Playground: solved problems in the resulting image for some CSS flex cases
  • Superscript and Subscript in the RichText features
  • Autocomplete: now it has also a renderOption to render complex JSX (not just a label) for each option
  • Autocomplete: getOptions has a second argument with the props, so that the fetch function can depend on other props’ values
  • Dashboard: new filters for change history: users and pages are now autocomplete fields

Fixes

  • Advanced SEO: Fixed a problem with schema.org nested fields

4.3.1 (March 20, 2024)

Improvements

  • Link in RichText created as a RichText plugin
  • The link in rich text now supports also the target (if target is “_blank”, the rel is automatically set to noopener for security reasons)

4.3.0 (March 18, 2024)

New feature: Ability to create Custom RichText Plugins

New feature: new Autocomplete control type

  • New type autocomplete for sidebar controls, to easily fetch external data asynchronously based on search text, with debouncing
  • See SideEditProps Docs

New feature: Quality setting on Images

  • Ability to set quality on the Image component, image sideEditProps or image customFields to set the image compression
  • See Image properties

4.2.0 (January 30, 2024)

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

  • Ability to fetch at brick level: see External content Docs
  • This feature works cross-platform, not just for RSC

December 16, 2023 4.1.3

Minor fixes


4.1.0 - 4.1.2 (December 11, 2023)

New feature: Approval Workflow

  • Decouple saving a page from publishing it, through a Working Copy mechanism
  • Activate the Approval Workflow, so that only users with the proper permission can approve changes
  • See Approval Workflow Docs to see how it works

New feature: Change history for a page

  • The change history for a page is accessible from the “Page” tab of the right sidebar.

New permissions for users

From the dashboard, it is now possible to choose which users can:

  • Edit SEO attributes (meta, slug, Open Graph, Twitter, Schema.org)
  • Edit page attributes, like visibility, pageType, author, etc.

Improvements

  • Better SEO management: changes are applied immediately without the need to save in each tab, moved the Slug to the SEO view
  • Header: icon with tooltip for quick view of Last modified (date and author), visibility status, lock status and editing status (approved, working copy, pending approval)
  • Left Sidebar: The environment name is shown, when different from “main”

Fixes

  • The slugPrefix of a page type is correctly applied upon page creation

4.0.7 (November 13, 2023)

Fixes

  • Fix missing dependency.

4.0.6 (November 12, 2023)

Fixes

  • Fix click outside 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.

4.0.4 - 4.05 (November 3, 2023)

Improvements

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

4.0.2 - 4.0.3 (October 25, 2023)

Fixes

  • Fixes related to external data and embeds.

4.0.1 (October 24, 2023)

New feature

  • Added the meta data, OpenGraph and Twitter Card SEO fields for all the plans.

4.0.0 (October 24, 2023)

New features

  • Media Library: a complete DAM (Digital Assets Management) system
  • Multiple Environments (content branches): create environments from the Dashboard, choose the environment with the environment configuration property
  • Advanced SEO: new interface to manage Meta tags, OpenGraph, Twitter Cards and the complete implementation of Schema.org entities; renderMeta() and renderJsonLd() to render them.
  • Slug Prefix: ability to set a slug prefix on pageTypes (slugPrefix)
  • Read-only Image: you can now use the Image component of React Bricks also for read-only images using the readonly attribute (for example coming from custom fields of related entities)
  • Show/hide sidebar controls of a brick by user (for example by custom role) or page (for example by page type). Now the show function of sideEditProps gets also the page and the logged user as arguments, so that you have total flexibility.

Improvements

  • Relationship field: now it saves only an ID of the related entity, but you can choose to also embed the whole content of the related entity (updated at build/run time)
  • Improved Image component: now you can upload a file, get it from URL, from Unsplash or from the Media Library
  • Improved File component: now you can also get a file from the Media Library, and there is a nice upload progreess bar
  • Allowed extensions: now the allowed extensions are always a subset of a set of generally allowed MIME types > extensions
  • Accents in slugs: by setting the allowAccentsInSlugs you can allow accented letters in the page slugs

3.12.2 - 3.12.3 (August 4, 2023)

New feature

  • Link to live website in the Admin header (hostname is set in the dashboard)

3.12.1 (July 31, 2023)

Fixes

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

3.12.0 (July 28, 2023)

New features

  • 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.

Improvements

  • Tags autocomplete on page now filters by page language (e.g. only tags from Italian pages for an Italian page)

3.11.4 (July 26, 2023)

Fixes

  • Fix File SEO name management, ready for the upcoming Digital Assets Management (DAM) feature and for enterprise custom CDN.

3.11.3 (July 18, 2023)

Fixes

  • Fix confirm delete file style with long file name

3.11.0 - 3.11.2 (July 17, 2023)

New features

  • The Image component can be set as readonly with a source: in this way you can use the Image component also for images that should not be visually editable (for example the images of a posts list component that gets images from the posts’ pages).

Improvements

  • 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 unknown pageType (otherwise they cannot be accessed / removed)

Fixes

  • Fix for the Image component modal when there was no source

3.10.0 (June 30, 2023)

New features

  • On the Image modal it is now possible to mark an image as “high priority (above the fold)” so that it gets optimized for high priority: if the browser has native lazy loading, we set the loading to “eager”, otherwise we skip our lazy loading method. In both cases, we set the correct fetchPriority to high.

Improvements

  • All dependencies updated/replaced so that we have no more peers of React <18 declared by dependencies.
  • On Text and RichText the renderBlock and placeholder props are not required any more (by default a simple paragraph is rendered and the placeholder is “Type a text…”).
  • The TextValue type is exported to allow correct typing of (rich)text props

Fixes

  • More robust fetching of the latest version from the npm registry
  • Prevent a very long page name from hiding the save button

3.9.1 - 3.9.2 (April 27, 2023)

Improvements

  • getExternalDataArgs in the fetchPage function, to pass arguments to the getExternalData function (useful if you have data that depend on path params and not on the page - like variants of a product in an e-commerce)

Fixes

  • 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

3.9.0 (April 21, 2023)

New feature (for Enterprise plans): Flexible Permissions

For enterprise plans, ability to set fine-grained permissions on a user/page/language/brick level providing the canAddPage, canAddTranslation, canSeePageType, canSeePage, canEditPage, canDeletePage, canDeleteTranslation, canUseBrick in the permission object of the React Bricks configuration.

See the Permissions documentation.

Ability to create custom roles from the Dashboard and to assign them to users for use in the permissions functions.

New feature: Stories as bricks in “Add new”

It is now possible to have a story created in the bricks code appear as a brick in the “Add new” menu, using the showAsBrick flag.

See the Stories documentation.

New feature: Structured bricks in config

Bricks can be specified as a structured array (themes > categories > bricks), so that the order of categories can be preserved and it is not necessary to specify the theme and category for every brick. The config structure overrides the theme and category of the single bricks.

See Configuration, Theme, Category

New feature: getDefaultProps for Repeated items

It is now possible to specify the getDefaultProps function for each repeaterItem to override the defaults of the item for a repeater.

See Repeated Items documentation

New feature: Image custom placeholder

Ability to set a custom placeholder for each <Image> component.

See the Image documentation.

Improvements

  • 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 ability to specify the simpleAnchor attribute to avoid 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

Fixes

  • 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
  • Fix text refresh for repeated items

3.8.10 (February 10, 2023)

New feature: News in Admin for important communications

When we have important announcements to share, it will be possible to see them in Admin.

Improvements

Better featureFlags management.


3.8.9 (January 16, 2023)

New feature: “can edit content” on locked block

Now it’s possible to prevent content edit (inline and via sidebar controls) for locked blocks (enterprise feature). Of course it’s possible to prevent it also on default content blocks using the canEditContent flag on the the block default content.

Fixes

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

3.8.8 (January 6, 2023)

Fixes

  • Fixed bug in imageClassName introduced in v3.8.7.

3.8.7 (January 3, 2023)

Improvements

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

3.8.5 - 3.8.6 (December 30, 2022)

Fixes

  • Fix Playground displayed props for multi-item Repeaters
  • Fix default props for multi-item Repeaters
  • Fix key warning for Repeaters
  • Fix hydration error

3.8.4 (December 16, 2022)

Improvements

  • Improved performance of the “Add new” sidebar

Fixes

  • Restored pink border on parent block when a child block is focused
  • Fix duplicate block
  • Fix hydration warning in PageViewer

3.8.3 (December 6, 2022)

New feature: Theme

Ability to have a theme on the bricks, with theme selection in the “Add new” interface

Improvements

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

Fixes

  • Fixed richtext focus problem in dev

3.8.2 (December 2, 2022)

Improvements

  • Improved performance of Text and RichText components

Fixes

  • Fixed sidebar controls props not changing properly
  • Fixed quick flash of “Made in React Bricks” banner on paid plans

3.8.1 (November 14, 2022)

Fixes

Fixed blocking bug (missing dependency in production bundle)


3.8.0 (November 10, 2022)

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

You can now lock single blocks in a page, instead of an entire page.
See Locked structure

New Feature: More flexible default for pageTypes

For a pageType, you can now specify the 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

New feature: Stories in bricks’ schema

You can now add stories for a brick in code, adding a stories array to the brick’s schema. This is useful when you want to document stories that are part of your design system style guide. The editors will see both the schema stories and the ones created by them. While user-created stories can be deleted, stories that are part of the brick’s schema in code cannot be deleted, as they are part of the design system definition.

See Brick’s schema

Improvements

  • Now you have the React Bricks version available on the ReactBricksContext, that you can reach via the useReactBricksContext hook. See useReactBricksContext.
  • In the footer you have the current React Bricks version and, if it’s not the latest one, you have a small warning sign with the latest version in a tooltip.

3.7.0 (October 7, 2022)

New feature: Entity Embed

You can now embed pages/entities inside of another page, so that it is a single source of truth: anytime the embedded page is changed, the change is reflected in all the pages embedding it. See Page / Entity embed

Improvements

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

3.6.1 (October 5, 2022)

Fixes

  • Fix bug for Repeater: if the repeated bricks used hooks, you had an error for broken rules of hooks.
  • Fix collaboration bug with Remix

3.6.0 (September 30, 2022)

New feature: Unsplash

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 you will have just 20 searches per hour per app.
Of course, you can disable the feature via the enableUnsplash configuration flag.


3.5.1 (September 22, 2022)

Improvements

  • You can now set the shouldRefreshStyles flag on a sideEditProp, when the value change for this prop could cause an injection of new CSS styles by a CSS-in-JS library. This ensures the new styles are correctly loaded.

3.5.0 (September 19, 2022)

New feature: Nested Repeaters

You can have any level of nesting using the <Repeater> component. See Nested blocks

New feature: Repeater with Multiple items.

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

New feature: Preview bricks with image/icon

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

Improvements

  • Much better CSS-in-JS support, also for libraries using the CSSOM to inject styles (remember to set the cssInJs flag on the configuration)
  • No more needs for ...rest spread on the main element of a repeated item

Possibility for a breaking change

It is really suggested that you don’t spread ...rest any more on repeated items and that you remove those spreads from your codebase: leaving them could cause browser warnings for unknown attributes on DOM elements (because now on the rest you have all the props of the block, not just the sidebar props, which probably you already extract before the rest). If you are destructuring props that have the same name as a prop that now comes from a visual editing component (for example an image), the prop on the ...rest could override the other props.


3.4.3 (August 18, 2022)

Fixes

  • Image: fix fallback for webp images
  • Page featured image: added featuredImage for back-compatibility

3.4.2 (August 8, 2022)

Improvements

  • Image: removed wrapping <div> in Admin
  • Content editor: minor UI Improvements
  • Update packages

Fixes

  • Sidebar: fix tab jump on page meta 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

3.4.1 (August 4, 2022)

Fixes

  • Fix dependencies in published package

3.4.0 (August 4, 2022)

New feature: Collaboration! 🎉🎉🎉

Big milestone: now you have real-time presence of all the users connected to an App and page-level lock, with possibility to force the unlock of a page.


3.3.2 (July 27, 2022)

New feature: Icons outside of blocks

If you set the new blockIconsPosition property on the React Bricks configuration to types.BlockIconsPosition.OutsideBlock, the small icons for “add new block”, “delete block”, “duplicate block”, “move up”, “move down” will be rendered outside of the block (useful for example when you have a short block)


3.3.1 (July 20, 2022)

Fixes

  • RichText: the softLineBreak attribute was not available for the RichText even if implemented. Now it is in the TypeScript interface and it 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

3.3.0 (July 19, 2022)

New feature: new Image component

  • 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 (if we detect browser support, we use native lazy loading.instead of our own). You can disable this feature using the useNativeLazyLoading flag (true by default). You may also provide the loading prop to override the default lazy and set it to eager (not recommended, generally it would hurt performance).
  • containerClassName, containerStyle and noWrapper are deprecated. Now by default no wrapper is rendered (it is still rendered only if you are applying the old containerClassName and containerStyle).
  • You can provide the more flexible renderWrapper function instead of the props above. The renderWrapper function receives width and height as arguments, so that you can calulate the image aspect ratio.
  • Works correctly even with JavaScript disabled

See Image docs

New feature: Login UI and Menu customization

  • For the Login UI you can customize the right image (or remove it), add your logo with width and height, change the welcome text and its CSS style
  • For the Admin top menu, you can provide your own menu using the getAdminMenu function, which receives the isAdmin argument and should return an array of objects with label and path. If path is external, it will render an anchor tag, while if it is a local path, it will use the router navigation.

See Customizing UI docs

New feature: Pages as Entities

This features make easier to work with React Bricks as a sort of headless CMS, but where you can still edit the entity data in a visual way.

  • Visual editing of page Meta and Custom fields: the Text, RichText and Image components can now be bound to page meta fields (like title, description, language, image) or custom fields, using the metaFieldName or customFieldName (instead of the usual propName). The fields from the sidebar and the one edited visually have 2-way data bounding.
  • isEntity property on pageType: if you create page type with isEntity set to true, you will see a new tab menu on the left to choose between Pages and Entities. Entities are just pages for React Bricks, but they could not correspond to real pages in your frontend. In this way you don’t confuse your editors. For example you could have in Entities things like Categories or Menu Items.
  • Custom fields of type relationship with relationshipOptions (to specify the referenced pageType, the label and a multiple flag to have a many-to-many relationship).
  • fetchPages has now a filter option to fetch pages based on custom fields’ value.

Improvements

Organization of pages in categories

  • On each pageType you can define an array of categories
  • Editors can then use those categories to organize the pages of that pageType (select category from the Page tab)

3.2.29 (June 30, 2022)

Bug fixes

  • File modal: target blank to download file.
  • Fixed plan limits for AppSumo users.

3.2.28 (June 29, 2022)

Bug fixes

  • Fixed default page size limit in fetchPages.

3.2.27 (June 28, 2022)

Bug fixes

  • Fixed bug in the bricks label with no repeaterItems.

3.2.26 (June 10, 2022)

Improvements

  • Show label of selected brick in the right sidebar.

3.2.25 (May 17, 2022)

Bug fixes

  • Fixed interface IImageSource: width and height are no more mandatory

3.2.24 (April 21, 2022)

Improvements

  • Playground: better formatted code and style fixes

3.2.21 - 3.2.23 (April 20, 2022)

New features

Bug fixes

  • Fix hydratation in PageViewer for React 18 compatiblity.
  • Fix bug in RichText renderItalic.
  • Minor bug fixes.

3.2.19 - 3.2.20 (April 5, 2022)

New features

  • Add Scheduled publishing warnings.
  • Add Editorial calendar in admin.

Bug fixes

  • Fix bug: scheduled publishing wasn’t updated on page change.
  • Minor bug fixes.

3.2.17 - 3.2.18 (March 14, 2022)

New features

Improvements


3.2.14 (March 8, 2022)

New features

  • Add “Keep me logged in” to login interface.

Bug fixes

  • Minor bug fixes.

3.2.12 - 3.2.13 (February 28, 2022)

New features

  • Add Preview link in admin.

Bug fixes

  • Minor bug fixes.

3.2.11 (February 18, 2022)

New features

  • Add the noWrapper prop to the Image component to avoid the wrapping div.

Improvements

  • Graphics update: RichText toolbar always inside the brick space.
  • Add aspectRatio to the Image control in Side Edit Props.

Bug fixes

  • In case of Boolean Side Edit Props set the default value to false instead of null.

3.2.10 (February 7, 2022)

Improvements

  • getDefaultProps no more mandatory in the schema.
  • Graphics update: RichText toolbar always inside the rich text space.

Bug fixes

  • Minor bug fixes.

3.2.8 - 3.2.9 (January 22, 2022)

Improvements

  • Number of pages per type beside the type name in the sidebar.
  • When add new block, autofocus on search input.

Bug fixes

  • Minor bug fixes.

3.2.6 - 3.2.7 (December 31, 2021)

Bug fixes

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

3.2.5 (December 20, 2021)

New features


3.2.4 (December 13, 2021)

New features

  • Add index prop to items in Repeater (in order to conditionally render based on index)
  • Add newItemMenuOpen in brick’s schema.

Bug fixes

  • Minor bug fixes.

3.2.1 - 3.2.3 (December 10, 2021)

New features

Improvements

  • Add popup in admin in case email not verified.

Bug fixes

  • Minor bug fixes.

3.2.0 (December 7, 2021)

New features

  • New App settings page with direct links to the dashboard.

Improvements

  • New page hint if there are less than 3 pages.

3.1.2 - 3.1.9 (December 3, 2021)

New features

  • Default export ‘react-bricks/frontend’.

Bug fixes

  • Minor bug fixes.

3.1.1 (December 2, 2021)

New features

  • New File component that allows editors to upload files that may be downloaded by users on the frontend.

Improvements

  • Smaller JS footprint on frontend: now the library exports two bundles: “frontend” and “admin”.

3.0.1 (November 1, 2021)

New features

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

3.0.0 (November 1, 2021)

New Features

  • 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 pageType, used by usePage, usePagePublic and simpleFetchPage
  • Add multiline prop on RichText and Text, fixed bug of n save mutation with “mod +s” hotkey

Improvements

  • The RichText component now by default supports also Heading H1..H6 and Quote.
  • There is a new RichTextExt component, which is an extensible RichText with a plugins system. Underneath the RichText component (kept for compatibility) uses the new RichTextExt.
  • shouldRefreshText isn’t needed any more on sideEditProps which affect the style of (Rich)Texts.
  • New JSON format that, on average, reduces the transferred payload by 50%.
  • Removed the wrapper <div></div> around the renderBlock.

Bug fixes

  • Bug fix: if you set a min in repeaterItems now when you add a new block it will display a “min” amount of that item

Breaking changes

  • 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.

Migration

If you need to migrate from v2 to v3, please read Upgrade v2 > v3.