Upgrade Guide
Modules in @deck.gl-community are independently maintained, so this page will only list occasional major changes.
Please refer the documentation of each module for detailed upgrade guides.
v9.4
@deck.gl-community/panels
- Breaking change: panel composition APIs no longer expose
Widget*names from@deck.gl-community/panels. - Migration:
WidgetPanel->PanelWidgetPanelRecord->PanelRecordWidgetPanelTheme->PanelThemeWidgetPanelThemeMode->PanelThemeModeWidgetContainer->PanelContentContainerWidgetContainerRenderer->PanelContentRendererAccordeonWidgetContainer->AccordeonPanelContainerTabbedWidgetContainer->TabbedPanelContainerColumnWidgetContainer->ColumnPanelContainerToolbarWidget->ToolbarPanelContainerToastWidget->ToastPanelContaineruseEffectiveWidgetPanelThemeMode->useEffectivePanelThemeMode
- New API:
SplitterPanelcomposes the first panel in one resizable pane and the remaining panels in a second pane.
v9.3
Dependencies
- Requires
deck.gl@~9.3.0-beta.1or later. - Requires
@luma.gl/*@~9.3.2or later. - Requires
@loaders.gl/*@^4.4.1or later.
@deck.gl-community/panels / @deck.gl-community/widgets
- New package:
@deck.gl-community/panelsnow owns panel composition, standalone mounting, panel containers, theming, and related standalone UI. @deck.gl-community/widgetsis now the deck-facing wrapper layer for panel-based deck.gl widgets.- Migration:
- Import panel definitions and panel containers from
@deck.gl-community/panels - Pass those panel definitions into wrapper widgets from
@deck.gl-community/widgets
- Import panel definitions and panel containers from
- New preferred widget wrapper names:
BoxPanelWidgetModalPanelWidgetSidebarPanelWidgetFullScreenPanelWidget
- Compatibility aliases remain available:
BoxWidgetModalWidgetSidebarWidget
@deck.gl-community/editable-layers
- The
@deck.gl-community/layerspeer dependency has been bumped from^9.2.0-betato^9.3.0.
v9.2
@deck.gl-community/editable-layers
- Breaking change:
DrawPolygonMode.modeConfig.preventOverlappingLineshas been renamed toallowSelfIntersectionwith inverted logic.- Replace
{preventOverlappingLines: true}→{allowSelfIntersection: false}(or simply omit — this is now the default) - Replace
{preventOverlappingLines: false}→{allowSelfIntersection: true}
- Replace
@deck.gl-community/leaflet
- Breaking change:
DeckLayerhas been renamed toDeckOverlay.- Replace all imports and usages:
import {DeckLayer} from '@deck.gl-community/leaflet'→import {DeckOverlay} from '@deck.gl-community/leaflet'
- Replace all imports and usages:
@deck.gl-community/graph-layers
- Deprecation: Graph style constants are now defined using literals instead of objects.
- Replace deprecated
NODE_TYPE.CIRCLEwith'circle',EDGE_TYPE.LINEwith'line', etc.
- Replace deprecated
- Deprecation:
GraphLayernow groups styling under astylesheetprop.- Replace
nodeStyle/edgeStylewithstylesheet.nodesandstylesheet.edges.
- Replace
- Deprecation:
graphprop onGraphLayeris being phased out. Provide graphs via thedataprop instead (supportsGraphEngine,Graph, or raw{nodes, edges}/edge arrays) and supply alayoutwhen the layer must build the engine for you. - Breaking change:
JSONLoaderonly normalizes raw JSON payloads. PassGraphinstances directly toGraphLayer.datarather than routing them through the loader.