npm / @storybook/addon-essentials
@storybook/addon-essentials
What changed in @storybook/addon-essentials 7 to 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-27.
71 breaking18 deprecations2 new APIs and options3 behavior and defaults1 tooling
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@storybook/addon-essentials 890 changes
Breaking changes 70
AddonStore addPanel is removed.
Storybook now requires Angular 15 or higher.
The ArgsTable Doc block is removed in favor of ArgTypes and Controls.
Webpack 5-based Web Components projects no longer receive @babel/preset-env by default and instead use their included configuration.
The Canvas Doc block children property is removed.
The Canvas Doc block columns property is removed.
The Canvas Doc block isColumn property is removed.
The Canvas Doc block mdxSource property is removed.
The Canvas Doc block withSource property is removed.
The WithTooltipComponent property is removed; use closeOnOutsideClick instead.
The React type is removed in favor of StoryFn, StoryObj, and Meta.
The React type is removed in favor of StoryFn, StoryObj, and Meta.
The React type is removed in favor of StoryFn, StoryObj, and Meta.
The React type is removed in favor of StoryFn, StoryObj, and Meta.
The deprecated config preset field is removed; use previewAnnotations instead.
The APIs from @storybook/channel-websocket and @storybook/postmessage are removed; use createBrowserChannel from @storybook/channels.
The DecoratorFn type is removed in favor of Decorator.
Storybook no longer adds default Babel plugins for Preact Webpack projects; add the JSX transform plugin and TypeScript preset to Babel configuration if needed.
Default keyboard shortcuts changed to avoid conflicts with browser shortcuts and typing in the Manager.
The children, markdown, and type properties are removed in favor of the of property.
The feature flag was renamed to experimentalRSC to support RSC in non-Next.js frameworks.
AddonStore getServerChannel is removed; use getChannel instead.
AddonStore hasServerChannel is removed; use hasChannel instead.
The addon controls parameter has been removed.
The hideOnly prop has been removed from @storybook/router's Route; implement the behavior manually with Match if needed.
Action spies are no longer inferred from onX props or actions.argTypesRegex. Add spies explicitly with fn() from @storybook/test.
The jsxOptions configuration was removed because it is no longer used.
The toolbar item left property is replaced by icon for positioning its content.
Remove the legacyMdx1 main.js feature flag when migrating from the legacy MDX1 format.
Addon UI is now rendered with React 18; the key prop is no longer passed to the render function.
Storybook now uses MDX3 under the hood; MDX3 includes improvements and small breaking changes.
The manager-api method is removed in favor of changeSettingsTab.
Storybook now requires Next.js 13.5 or higher.
The parameter was renamed to react.rsc.
The WithTooltipComponent property is removed; use onVisibleChange instead.
The docs parameter is removed; use docs.story.iframeHeight instead.
The docs parameter is removed; use docs.story.inline instead.
The parameter is removed; use parameters.docs.source.transform instead.
The parameter is removed; use parameters.docs.source.transform instead.
The parameter is removed; use parameters.docs.source.transform instead.
This option is removed; story functions always receive args first and context second.
The type is removed in favor of PostMessageTransport.
Storybook now requires Preact 10 or higher.
The Primary Doc block name prop is removed in favor of of.
Framework TypeScript types are removed in favor of corresponding Renderer types.
The command to generate a .babelrc file for Storybook has been removed.
AddonStore serverChannel is removed; use channel instead.
The @storybook/react export is removed in favor of setProjectAnnotations.
AddonStore setServerChannel is removed; use setChannel instead.
The Source Doc block id property is removed in favor of of.
The Source Doc block ids property is removed in favor of of.
storybook build no longer generates stories.json by default; index.json remains available.
Storybook no longer supports .stories.mdx files that combine documentation and story definitions; migration scripts are provided for the new format.
The Story type is removed in favor of StoryFn and StoryObj.
The Story block no longer supports referencing stories by id, name, or story.
The Story Doc block story prop is removed in favor of of.
Direct React component imports of LinkTo from this package are removed; import it from @storybook/addon-links/react.
The package and its utilities for programmatically modifying user configuration files during install have been removed; addons that used it must adapt the old source.
The type is removed in favor of StorybookConfig.
The main.js configuration property is removed in favor of experimental_indexers.
Storybook now requires Svelte 4 or higher.
The WithTooltipComponent property is removed; use defaultVisible instead.
TAB addons should no longer specify match; Storybook shows their rendered content when the tab query parameter matches the addon ID.
TAB addons should no longer specify route; Storybook shows their rendered content when the tab query parameter matches the addon ID.
React component analysis now defaults to react-docgen; set this option to react-docgen-typescript for its full fidelity.
The CLI flag is removed; use --package-manager=npm instead.
The useAddonState export from @storybook/preview-api is removed.
The useSharedState export from @storybook/preview-api is removed.
Storybook now requires Vue 3 or higher.
Storybook is compiler-agnostic and does not depend on Babel or SWC when using Webpack 5.
Deprecations 16
A new Button component is available for use in all places; addon creators and Storybook maintainers should use it instead of Form.Button.
The Button containsIcon prop is deprecated; add the icon as a child instead.
Form.Button is deprecated in favor of the new Button component.
The Button gray prop is deprecated; use variant instead.
The Icons component in @storybook/components is deprecated in favor of @storybook/icons.
The Button inForm prop is deprecated; use variant instead.
The Button isLink prop is deprecated; use asChild instead.
The Button outline prop is deprecated; use variant instead.
The Button primary prop is deprecated; use variant instead.
The Button secondary prop is deprecated; use variant instead.
The Button small prop is deprecated; use size instead.
The StoryStore method is deprecated; use preview.loadStory({ storyId }) after awaiting preview.ready().
The StoryStore method is deprecated; use preview.extract() after awaiting preview.ready().
A new icon library is available; addon creators and Storybook maintainers are advised to use it instead of the deprecated Icons component.
The StoryStore global is deprecated and will no longer be accessible in Storybook 9.0.
The Button tertiary prop is deprecated; use variant instead.
New APIs and options 1
Tool addon match functions receive tabId to filter visibility; it is undefined when the canvas is shown.
Behavior and default changes 3
IconButton now uses Button under the hood, so its props match Button's props.
Preview.extract() no longer loads CSF files in batches; the former batching workaround slowed extraction and its removal should not affect behavior.
Storybook uses SWC with Next.js 14 or higher when no .babelrc exists, or when experimental.forceSwcTransforms is true.
@storybook/addon-essentials 75 changes
Breaking changes 1
A codemod migrates deprecated story types in matching story files after upgrading.
Deprecations 2
The React-specific utility is deprecated in favor of the new syntax that works across supported frameworks.
The React-specific utility is deprecated in favor of the new syntax that works across supported frameworks.
New APIs and options 1
A new type for CSF3 stories automatically infers component props; passing typeof meta also links meta-level and story-level args.
Tooling 1
Using CSF3 with TypeScript 4.9+ satisfies enables stricter checking, including warnings for missing required args and safer sharing of play functions.