Skip to content

Blueprint 6.0

Jonah Scheinerman edited this page May 5, 2025 · 1 revision

Blueprint 6.0

Blueprint 6.0 is an upcoming major version bump which focuses on the removal of deprecated and legacy code and the modernization of our codebase.

Breaking changes overview

Global changes

  • CSS namespace changed from bp5- to bp6-.
  • React 16 and 17 are no longer supported as peer dependencies of Blueprint.
  • Blueprint no longer produces UMD bundles from its packages.
  • Switched out the implementation for the following deprecated components. With each of these components the versioned component has replaced the unversioned variant and the versioned variant is exposed as a deprecated alias of the original component. For example, the previously deprecated <PanelStack> component is now implemented using the <PanelStack2> implementation and API. Users can still use PanelStack2 but it is now identical to using PanelStack. The name PanelStack2 is deprecated and will be removed in an future major version bump.
    • @blueprintjs/core
      • <HotkeysTarget>
      • <PanelStack>
      • <Toast>
    • @blueprintjs/datetime
      • <DatePicker>
      • <DateInput>
      • <DateRangePicker>
      • <DateRangeInput>
    • @blueprintjs/table
      • <Table>
      • <EditableCell>

@blueprintjs/core breaking changes

  • <ContextMenu>
    • Removed the deprecated <ContextMenuTargetLegacy> and <ContextMenuLegacy> components
    • The showContextMenu function now only accepts ShowContextMenuOptions for its second argument and uses the React 18 ReactDOMClient.createRoot async API instead of the React 16 ReactDOM.render by default.
    • The hideContextMenu function no longer accepts arguments.
  • <Hotkeys>
    • Removed the following deprecated legacy components, types, and functions:
      • IHotkeysTargetComponent
      • isHotkeysDialogShowing
      • setHotkeysDialogProps
      • showHotkeysDialog
      • hideHotkeysDialog
      • hideHotkeysDialogAfterDelay
  • <Icon>
    • The deprecated iconSize prop has been removed. Use the size props instead.
    • The IconComponent type's return value is now React.ReactNode
  • <InputGroup>, <NumericInput> - The size prop no longer accepts numeric values. Use the old native HTML functionality here, use the inputSize prop instead
  • <OverlayToaster>
    • Updated create to use the same API as createAsync. Using createAsync is now deprecated.
    • By default create will now use the React 18 ReactDOMClient.createRoot async API instead of the React 16 ReactDOM.render.
    • The OverlayToasterCreateOptions object no longer has a domUnmounter field.
  • <Portal> - Removed the deprecated legacy context options for this component. Use <PortalProvider> instead.
  • <Tabs> - Removed the deprecated <Tabs.Expander> and <Expander> components. Use <TabsExpander> instead.
  • <TextArea> - The deprecated growVertically prop has been removed. Use the autoResize prop instead.
  • Toaster - Removed the deprecated create method. Use OverlayToaster.create instead.
  • Removed the following deprecated type aliases:
    • ControlledProps
    • AbstractComponent2
    • AbstractPureComponent2
    • InputGroupProps2
    • ToasterInstance
  • Removed the deprecated Classes.SELECT class name and its associated styles.

@blueprintjs/datetime breaking changes

  • @blueprintjs/datetime2 is now deprecated and should no longer be used. All component implementations have been merged into @blueprintjs/datetime.
  • The react-day-picker dependency has changed from 7.4.9 to ^8.10.0.

@blueprintjs/eslint-plugin breaking changes

  • Removed now obviated the no-deprecated-datetime-components rule

@blueprintjs/icons breaking changes

  • <SVCIconContainer> - The SVGIconContainerComponent type's return value is now React.ReactNode.

@blueprintjs/popover2 breaking changes

  • This package and all associated types it exports have been removed

@blueprintjs/table breaking changes

  • Removed the following deprecated type aliases:
    • ColumnHeaderCell2
    • ColumnHeaderCell2Props
    • RowHeaderCell2
    • RowHeaderCell2Props
    • JSONFormat2
    • JSONFormat2Props
    • TruncatedFormat2
    • TruncatedFormat2Props

Non breaking changes

  • The following components are deprecated:
    • <MultiSlider.Handle> - Use <MultiSliderHandle> instead
    • <Navbar.Divider>, <Navbar.Group>, and <Navbar.Heading> - Use <NavbarDivider>, <NavbarGroup>, and <NavbarHeading>instead
    • <Tabs.Tab> - Use <Tab> instead
Clone this wiki locally