Changelog
October 31th, 2024 4.5.5
Fixes
- Warnings on save also for validation errors happening in deeply nested bricks
October 31st, 2024 4.5.4
Fixes
- Readonly images now use the original image source in admin instead of the sourceset (to avoid referencing images not yet processed)
October 21st, 2024 4.5.3
Fixes
- When using RSC, bricks wrapping client components were not selectable when inside a repeater
- Fix Items' labels for repeater with multiple item types
Improvements
- Better outline for selected items inside a repeater
October 8th, 2024 4.5.2
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
September 24th, 2024 4.5.1
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
September 20th, 2024 4.5.0
New Feature: Page Templates (experimental)
- Ability to configure a
template
on apageType
, composed ofslots
. - 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 singleslot
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 certainpageType
, 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
August 5th, 2024 4.4.5 4.4.6
Fixes
- Image:
fetchPriority
camel case for React 19 (used by Next.js) - Warning for not found bricks: now brick names are unique
August 3rd, 2024 4.4.4
Improvements
- Ability to pass a generic type to the
RepeaterItems
type, so that the props returned bygetDefaultProps
are fully typed also for nested items
August 3rd, 2024 4.4.3
Fixes
- Fixed key warning for Nested items sidebar in some conditions
- Fixed camel-case
fetchPriority
attribute on DOM image
July 30th, 2024 4.4.2
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
July 26th, 2024 4.4.1
New features
- Nested bricks: experimental sidebar control for better management (reorder, delete): set
experimentalSidebarRepeaterItems
totrue
in the React Bricks config - Experimental Icon Selector in the
SideEditPropType
s - 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 theprops
, 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
March 20th, 2024 4.3.1
Improvements
- Link in RichText created as a RichText plugin
- The link in rich text now supports also the target (if
target
is "_blank", therel
is automatically set tonoopener
for security reasons)
March 18th, 2024 4.3.0
New feature: Ability to create Custom RichText Plugins
- Ability to create custom rich-text plugins with a custom button, render function and custom configuration. See Create a RichText plugin
- The plugin can have a popover window to allow the user to choose parameters for the plugin. See Block with Modal plugin constructor
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
January 30th, 2024 4.2.0
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 16th, 2023 4.1.3
Minor fixes
December 11th, 2023 4.1.0 4.1.1 4.1.2
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
November 13th, 2023 4.0.7
Fixes
- Fix missing dependency.
November 12th, 2023 4.0.6
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.
November 3rd, 2023 4.0.4 4.0.5
Improvements
- New function
getSchemaOrgData
to support JSON-LD injection in Remix starters.
October 25th, 2023 4.0.2 4.0.3
Fixes
- Fixes related to external data and embeds.
October 24th, 2023 4.0.1
New feature
- Added the meta data, OpenGraph and Twitter Card SEO fields for all the plans.
October 24th, 2023 4.0.0
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()
andrenderJsonLd()
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
August 4th, 2023 3.12.2 3.12.3
New feature
- Link to live website in the Admin header (hostname is set in the dashboard)
July 31st, 2023 3.12.1
Fixes
- File component: on the frontend render function the url argument receives the SEO-friendly URL.
July 28th, 2023 3.12.0
New features
- The
RichText
component has acustomFieldPlainText
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)
July 26th, 2023 3.11.4
Fixes
- Fix File SEO name management, ready for the upcoming Digital Assets Management (DAM) feature and for enterprise custom CDN.
July 18th, 2023 3.11.3
Fixes
- Fix confirm delete file style with long file name
July 17th, 2023 3.11.0 3.11.1 3.11.2
New features
- The
Image
component can be set asreadonly
with asource
: 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
June 30th, 2023 3.10.0
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
andRichText
therenderBlock
andplaceholder
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
April 27th, 2023 3.9.1 3.9.2
Improvements
getExternalDataArgs
in thefetchPage
function, to pass arguments to thegetExternalData
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
andseoName
introduced in 3.9.0 - Better
Link
typing - The link of the news popup in the Admin has target
_blank
April 21st, 2023 3.9.0
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 thesimpleAnchor
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
February 10th, 2023 3.8.10
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.
January 16th, 2023 3.8.9
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.
January 6th, 2023 3.8.8
Fixes
- Fixed bug in
imageClassName
introduced in v3.8.7.
January 3rd, 2023 3.8.7
Improvements
- New placeholder image, proportional to the Image
aspectRatio
(if set), respecting themaxSize
(if set).
December 30th, 2022 3.8.5 3.8.6
Fixes
- Fix Playground displayed props for multi-item Repeaters
- Fix default props for multi-item Repeaters
- Fix
key
warning for Repeaters - Fix hydration error
December 16th, 2022 3.8.4
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
December 6th, 2022 3.8.3
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
December 2nd, 2022 3.8.2
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
November 14th, 2022 3.8.1
Fixes
Fixed blocking bug (missing dependency in production bundle)
November 10th, 2022 3.8.0
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 theuseReactBricksContext
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.
October 7th, 2022 3.7.0
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 aPageViewer
withshowClickToEdit
set to false.
October 5th, 2022 3.6.1
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
September 30th, 2022 3.6.0
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.
September 22th, 2022 3.5.1
Improvements
- You can now set the
shouldRefreshStyles
flag on asideEditProp
, 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.
September 19th, 2022 3.5.0
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.
August 18th, 2022 3.4.3
Fixes
- Image: fix fallback for webp images
- Page featured image: added
featuredImage
for back-compatibility
August 8th, 2022 3.4.2
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
August 4th, 2022 3.4.1
Fixes
- Fix dependencies in published package
August 4th, 2022 3.4.0
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.
July 27th, 2022 3.3.2
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)
July 20th, 2022 3.3.1
Fixes
RichText
: thesoftLineBreak
attribute was not available for the RichText even if implemented. Now it is in the TypeScript interface and it works as expectedimageOptions
for a sideEditProp or a custom field:maxWidth
is optionalrelationshipOptions
for a sideEditProp or a custom field:label
is optionalfilterBy
in fetchPages or usePages: better typings
July 19th, 2022 3.3.0
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 theloading
prop to override the defaultlazy
and set it toeager
(not recommended, generally it would hurt performance). containerClassName
,containerStyle
andnoWrapper
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. TherenderWrapper
function receives width and height as arguments, so that you can calulate the image aspect ratio. - Works correctly even with JavaScript disabled
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 theisAdmin
argument and should return an array of objects withlabel
andpath
. If path is external, it will render an anchor tag, while if it is a local path, it will use the router navigation.
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
andImage
components can now be bound to page meta fields (like title, description, language, image) or custom fields, using themetaFieldName
orcustomFieldName
(instead of the usualpropName
). The fields from the sidebar and the one edited visually have 2-way data bounding. isEntity
property onpageType
: if you create page type withisEntity
set totrue
, 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
withrelationshipOptions
(to specify the referencedpageType
, the label and amultiple
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)
June 30th, 2022 3.2.29
Bug fixes
- File modal: target blank to download file.
- Fixed plan limits for AppSumo users.
June 29th, 2022 3.2.28
Bug fixes
- Fixed default page size limit in fetchPages.
June 28th, 2022 3.2.27
Bug fixes
- Fixed bug in the bricks label with no repeaterItems.
June 10th, 2022 3.2.26
Improvements
- Show label of selected brick in the right sidebar.
May 17th, 2022 3.2.25
Bug fixes
- Fixed interface
IImageSource
: width and height are no more mandatory
April 21st, 2022 3.2.24
Improvements
- Playground: better formatted code and style fixes
April 20th, 2022 3.2.21 3.2.23
New features
- Add categories to the Playground sidebar.
Bug fixes
- Fix hydratation in
PageViewer
for React 18 compatiblity. - Fix bug in RichText
renderItalic
. - Minor bug fixes.
April 5th, 2022 3.2.19 3.2.20
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.
March 14th, 2022 3.2.17 3.2.18
New features
- Add soft line break to
RichText
.
Improvements
enablePreview
true by default in ReactBricksConfig.
March 8th, 2022 3.2.14
New features
- Add "Keep me logged in" to login interface.
Bug fixes
- Minor bug fixes.
February 28th, 2022 3.2.12 3.2.13
New features
- Add Preview link in admin.
Bug fixes
- Minor bug fixes.
February 18th, 2022 3.2.11
New features
- Add the
noWrapper
prop to the Image component to avoid the wrappingdiv
.
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 ofnull
.
February 7th, 2022 3.2.10
Improvements
getDefaultProps
no more mandatory in theschema
.- Graphics update:
RichText
toolbar always inside the rich text space.
Bug fixes
- Minor bug fixes.
January 22nd, 2022 3.2.8 3.2.9
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.
December 31st, 2021 3.2.6 3.2.7
Bug fixes
- Add
useVisualEdit
to frontend bundle. - Add
blockPluginConstructor
,markPluginConstructor
and plugins to frontend bundle. - Minor bug fixes
December 20th, 2021 3.2.5
New features
- Add
simpleFetchTags
anduseTags
.
December 13rd, 2021 3.2.4
New features
- Add
index
prop toitems
inRepeater
(in order to conditionally render based on index) - Add
newItemMenuOpen
in brick'sschema
.
Bug fixes
- Minor bug fixes.
December 10th, 2021 3.2.1 3.2.2 3.2.3
New features
- Add useAdminContext in exported bundle.
Improvements
- Add popup in admin in case email not verified.
Bug fixes
- Minor bug fixes.
December 7 th, 2021 3.2.0
New features
- New App settings page with direct links to the dashboard.
Improvements
- New page hint if there are less than 3 pages.
December 3rd, 2021 3.1.2 - v3.1.9
New features
- Default export 'react-bricks/frontend'.
Bug fixes
- Minor bug fixes.
December 2nd, 2021 3.1.1
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".
November 1st, 2021 3.0.1
New features
November 1st, 2021 3.0.0
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 oftags
. 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 withlanguage
andslug
.
Migration
If you need to migrate from v2 to v3, please read Upgrade v2 > v3.