Try for free

Changelog

v3.4.2

August 8th, 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

v3.4.1

August 4th, 2022

Fix

  • Fix dependencies in published package

v3.4.0

August 4th, 2022

New features

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.

v3.3.2

July 27th, 2022

New features

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)

v3.3.1

July 20th, 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

v3.3.0

July 19th, 2022

New features

New <Image> component (see Image docs)

  • 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

Login UI and Menu customization (see Customizing UI docs)

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

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.

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)

v3.2.29

June 30th, 2022

Bug fixes

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

v3.2.28

June 29th, 2022

Bug fixes

  • Fixed default page size limit in fetchPages.

v3.2.27

June 28th, 2022

Bug fixes

  • Fixed bug in the bricks label with no repeaterItems.

v3.2.26

June 10th, 2022

Improvements

  • Show label of selected brick in the right sidebar.

v3.2.25

May 17th, 2022

Bug fixes

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

v3.2.24

April 21st, 2022

Improvements


v3.2.21 - v3.2.23

April 20th, 2022

New features

Bug fixes

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

v3.2.19 - v3.2.20

April 5th, 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.

v3.2.17 - v3.2.18

March 14th, 2022

New features

Improvements


v3.2.14

March 8th, 2022

New features

  • Add "Keep me logged in" to login interface.

Bug fixes

  • Minor bug fixes.

v3.2.12 - v3.2.13

February 28th, 2022

New features

  • Add Preview link in admin.

Bug fixes

  • Minor bug fixes.

v3.2.11

February 18th, 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.

v3.2.10

February 7th , 2022

Improvements

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

Bug fixes

  • Minor bug fixes.

v3.2.8 - v3.2.9

January 22nd, 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.

v3.2.6 - v3.2.7

December 31st, 2021

Bug fixes

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

v3.2.5

December 20th, 2021

New features


v3.2.4

December 13rd, 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.

v3.2.1 - v3.2.3

December 10th, 2021

New features

Improvements

  • Add popup in admin in case email not verified.

Bug fixes

  • Minor bug fixes.

v3.2.0

December 7 th, 2021

New features

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

Improvements

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

v3.1.2 - v3.1.9

December 3rd, 2021

New features

  • Default export 'react-bricks/frontend'.

Bug fixes

  • Minor bug fixes.

v3.1.1

December 2nd, 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".

v3.0.1

November 1st, 2021

New features

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

v3.0.0

November 1st, 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.

Subscribe to our newsletter!

Be the first to discover our latest news. No spam, promise.