January 22, 2025
The project map has had visual design updates and some flow changes around editing a project map node.
@uniformdev/canvas package is now compatible with Node 22.We’ve released a new major version of our SDK v20.0.0, with the following breaking changes:
canvas: the localize() function's deprecated legacy props format has been removed. The LocalizeModernOptions type was also renamed to LocalizeOptions.canvas: the walkComponentTree() function has been removed. Use walkNodeTree() instead.canvas: the ComponentLocationReferenceV2 type has been renamed to ComponentLocationReference.canvas: conditional visibility related functions are no longer marked deprecated [now considered stable]canvas: the CompositionGetOrderBy type was removed. This was no longer used.canvas: the CompositionIssue type was removed. Use DataResolutionIssue instead.canvas: the CompositionPatternIssue type was removed. Use PatternIssue instead.canvas: the CompositionDiagnostics type was removed. Use EdgehancersDiagnostics instead.canvas: the CompositionDataDiagnostic type was removed. Use DataDiagnostic instead.canvas: the ProjectMapLinkComponentParameterValue type was removed. Use ProjectMapLinkParamValue instead.canvas: the LinkComponentParameterValue type was removed. Use LinkParamValue instead.canvas: the getPropertyValue() function was removed.canvas: the following legacy preview related functions have been removed: createEventBus(), getChannelName(), and subscribeToComposition()canvas-react: the children property was removed from UniformPlaygroundProps. It had no effect already.canvas-react: the UniformSlot component no longer accepts children. Use the wrapperComponent prop instead. See migration guide below.canvas-react: the useCompositionEventEffect() hook has been removed.canvas-vue: the useCompositionEventEffect() hook has been removed.cli: the pattern command, as well as using pattern in the sync config, no longer exists. Use componentPattern, compositionPattern, and entryPattern instead.cli: we no longer consider legacy file sync location when doing a pull/sync (last used in packages older than v19.88.0). You can re-pull your project if you have old backups.cli: The legacy CLI file hashing was removed. This will only affect apps using a CLI version older than v19.88.0.context-devtools: the <ToggleEmbeddedContextDevTools /> component has been removed. Use the Context Chrome extension instead.mesh-sdk-react: The following deprecated components have been removed:ProductPreviewListProductQueryProductSearchProductSearchRowProductSelectedItemSelectionFieldDamSelectedItemDefaultSearchRowDefaultSelectedItemEntrySearchResolvableLoadingValueObjectSearch* componentsmesh-sdk-react: the countValue prop has been removed from the QueryFilterProps typemesh-sdk-react: the label property has been removed from the ObjectSearchFilterContainer componentmesh-sdk-react: the id and name have been removed from the ObjectSearchFilter's selectOptions prop. Use label and value instead.mesh-sdk-react: the name and subtitle props have been removed from the SelectedItemProps type. Use title instead.mesh-sdk-react: the image prop has been removed from ObjectSearchListItem - use imageUrl instead.mesh-sdk-react: the isMulti prop has been removed from ObjectSearchListItem - use the isMulti prop on ObjectSearchProvider instead.mesh-sdk-react: Search & Filtering-related types are no longer in beta.mesh-sdk-react: The disableReset prop has been removed from InputVariables - the computation is now automatic. The showMenuPosition prop is no longer deprecated as it is shipped.mesh-sdk-react: the hasReferencedVariables() function is removed. Use the same function from @uniformdev/canvas instead.project-map: Editions-related types are no longer marked deprecated as the feature has shipped.design-system: The <Badge/> component has been removed. <Chip /> can be used instead.design-system: The withoutPortal prop has been removed from <ButtonWithMenu />. Use portal instead.design-system: The isIndented and isCompact props on <Details /> are no longer beta/deprecateddesign-system: The MediaCard component is removed. Use the <GridListItem /> component instead.design-system: The IntegrationHeaderSection component has been removed.design-system: The menuLabel prop is removed from <Menu />. Place a label on the menu trigger instead.design-system: The forceVisible prop is removed from <Menu />. Use the open prop instead.design-system: The <MenuItemHeading/> component is removed. Use <MenuGroup /> instead.design-system: The wrapperClassName prop is removed from <Modal />design-system: The isBound prop is removed from <LabelLeadingIcon /> - use isActive instead.design-system: The ConnectToDataElementButton component is removed. Use <LabelLeadingIcon /> instead.design-system: The ParameterDataResource component is removed.design-system: The baseId prop on <Popover /> is removed.design-system: Props related to parameter overriding are no longer marked deprecated, they are stable.design-system: The <ProgressBar /> component is no longer marked betadesign-system: The <ShortcutRevealer /> and <ShortcutContext /> components are removed. Use useShortcut instead.design-system: The asSpan prop has been removed from the Heading component. Use as=span instead.design-system : The <AnimationFile /> component has been removed. Use <LoaderOverlay /> or <Spinner />design-system: Removed reakit completely in favour of ariakitdesign-system: Refactor <Button /> component to use ariakitdesign-system: Refactor <ButtonWithMenu /> component to use ariakitdesign-system: Refactor <DateTimePicker /> component to use ariakit popoverdesign-system: Update broken props after refactor on <IconButton />design-system: Remove unused capture prop which was only present for reakit fix on <Input /> and <Textarea /> componentsdesign-system: Refactor <Tooltip /> from using reakit to ariakitdesign-system: Remove reakitfrom package.jsonstorybook: Remove red styling on boolean inputscontext-ui: Remove reakit dependencycontext-devtools: Remove reakit dependencyUniformSlot children to wrapperComponentBefore:
After:
The React Server Components packages have been updated to target Next.js 15.1. This update introduces several breaking changes, including the conversion of certain synchronous functions to asynchronous. As a result, these functions must now be awaited before use.
To facilitate a smooth transition, refer to the official Next.js 15.1 upgrade guide provided by Vercel. The guide includes helpful codemods to streamline the upgrade process.
uniform.server.config.js configuration file now supports Turbopack. Additionally, TypeScript can be used to define your configuration.For additional details about the changes in Next.js 15 and 15.1, consult the resources below: