NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #556 most downloaded on pub.dev
Widgetbook is a sandbox for building widgets and screens in isolation. It helps you develop hard-to-reach states and edge cases without needing to run your app.
Last release 26 days ago
11 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
113 releases · first in 2021
FEAT : Add foldersExpandedByDefault to Config to start the navigation tree collapsed, while still expanding the ancestors of a deep-linked node on sta
foldersExpandedByDefault to Config to start theREFACTOR : Allow analyzer 13.x and 14.x.
analyzer 13.x and 14.x.One column per quarter.
FIX : Load images before capturing a snapshot in testWidgetbook , so they are no longer missing from generated snapshots.
FIX : Rebuild the workbench preview when switching between stories of the same component, instead of keeping the previously selected story's state.
FEAT : Add excludeFromTests to Story and Scenario to skip a story or scenario during testWidgetbook snapshot generation while keeping it browsable in
excludeFromTests to Story and Scenario to skip atestWidgetbook snapshot generation whileflutter test.testWidgetbookchore(widgetbook): release v4.0.0-beta.9
chore(widgetbook): release v4.0.0-beta.9 (#1972)
FIX : Rebuild the workbench preview when switching stories or changing knobs while a viewport is active.
Releases widgetbook_cli 4.0.0-beta.6 → 4.0.0-beta.7 , in sync with widgetbook (see #1944 ).
Releases widgetbook_cli 4.0.0-beta.6 → 4.0.0-beta.7, in sync
with widgetbook (see #1944).
version in packages/widgetbook_cli/pubspec.yaml andpackageVersion in metadata.dart.widgetbookVersion (the widgetbook version installed bywidgetbook init) 4.0.0-beta.6 → 4.0.0-beta.7, keeping init inwidgetbook (matches the beta.6 release).## Unreleased changelog section to ## 4.0.0-beta.7 and**FIX** entry for the init version bump.cli version variable in docs.json (widgetbook value owned bywidgetbook release in #1944 so both packages land on4.0.0-beta.7.widgetbook init now targets widgetbook 4.0.0-beta.7, sowidgetbook 4.0.0-beta.7 should be published before/with this forinit to resolve.docs.json (cli vswidgetbook), so whichever merges second may need a trivial conflictNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
chore(widgetbook): release v3.25.0
chore(widgetbook): release v3.25.0 (#1949)
units parameter to the duration knob to choose which time units (days to microseconds) are shown. (#1915 - by @EArminjon)BREAKING: Set minimum Flutter version to 3.44.0.
FEAT: Add defaultToNull parameter to nullable knobs to make them start in a null _(i.e. unchecked)_ state while having a non-null initial value. (#179
defaultToNull parameter to nullable knobs to make them start in a null (i.e. unchecked) state while having a non-null initial value. (#1790 - by @youpelegrace)inspector 4.x. (#1901)headerPadding parameter to customize the padding around the navigation panel header. (#1882 - by @EArminjon)FIX: Ensure slider label use max size (#1823 - by @EArminjon)
BREAKING: Set minimum SDK version to 3.9.0 & minimum Flutter version to 3.35.0.
DurationField to be 3 inputs with the format of HH:MM:SS instead of a single one for milliseconds. (#1769 - by @youpelegrace)WidgetbookTheme changes. (#1795 - by @EArminjon)FIX: Consider NumberSliderField's min label width when calculating the labels' max width. (#1757 - by @EArminjon)
NumberSliderField's min label width when calculating the labels' max width. (#1757 - by @EArminjon)REFACTOR: Set minimum accessibility_tools version to 2.6.0.
accessibility_tools version to 2.6.0. (#1739)BREAKING: Set minimum SDK version to 3.8.0 & minimum Flutter version to 3.32.0.
precision parameter in DoubleSliderField and knobs.double.slider. The default value is currently 1, to get the old behavior, set it to null. (#1706 - by @EArminjon)IterableSegmentedField to parse unknown values. (#1703 - by @EArminjon)FEAT: Add color picker to ColorField. (#1659 - by @EArminjon)
ColorField. (#1659 - by @EArminjon)enableLeafComponent parameter to Widgetbook to allow enabling/disabling leaf components (i.e. components with a single use-case) behavior. (#1680 - by @EArminjon)iterable.segmented knob, along with its IterableSegmentedField. (#1678 - by @EArminjon)- BREAKING: Remove next library.
next library. (#1634)FIX: Clamp NumSliderField value to avoid exceptions when the boundaries change. (#1590 - by @EArminjon)
NumSliderField value to avoid exceptions when the boundaries change. (#1590 - by @EArminjon)SemanticsAddon to make it fill the entire viewport. (#1611 - by @EArminjon)SemanticsAddon. (#1614 - by @EArminjon)REFACTOR: Deprecate WidgetbookLeafComponent in favor of WidgetbookComponent which will now have similar behavior when it has a single use-case.
WidgetbookLeafComponent in favor of WidgetbookComponent which will now have similar behavior when it has a single use-case. (#1573)Field.defaultValue, that will be used for setting the value when initial value is null. (#1581 - by @EArminjon)REFACTOR: Deprecate ListField in favor of ObjectDropdownField.
object.segmented knob. (#1478 - by @Sourav-Sonkar)ListField in favor of ObjectDropdownField. (#1541)knobs.list in favor of object.dropdown. (#1547)REFACTOR: Deprecate DeviceFrameAddon in favor of ViewportAddon.
FIX: Unify background color between the workbench and DeviceFrameAddon. (#1461 - by @ValentinVignal)
DeviceFrameAddon. (#1461 - by @ValentinVignal)WidgetbookState's KnobsRegistry. (#1487 - by @ValentinVignal)TextFields to improve accessibility. (#1483 - by @lsaudon)ThemeData is used in the appBuilder. (#1489)device_frame_plus v1.5.0. (#1481)FIX: Tighten device_frame_plus version constraints; to prevent the breaking changes introduced in v1.4.0. (#1475 - by @Peetee06)
device_frame_plus version constraints; to prevent the breaking changes introduced in v1.4.0. (#1475 - by @Peetee06)- FIX: Support Flutter 3.32.0.
FEAT: Add `header` parameter to Widgetbook to allow adding a custom header to the navigation sidebar. (#1443 - by @Sourav-Sonkar)
header parameter to Widgetbook to allow adding a custom header to the navigation sidebar. (#1443 - by @Sourav-Sonkar)panels query param to show/hide panels when embedding Widgetbook. (#1439)?? (e.g. /?path=my-use-case&knobs={my_knob:??}). (#1450)safeAreas to viewports. (#1452)ViewportData.id in favor of ViewportData.name. (#1454)null in durationOrNull knob. (#1444)color knob fields' heights. (#1445)NumInputField, DurationField and DateTimeField values. (#1446)DateTimeField after using the picker. (#1447)FIX: Add missing fields to NoneDevice. These fields were introduced in device_frame_plus v1.3.1.
NoneDevice. These fields were introduced in device_frame_plus v1.3.1. (#1430)FEAT: Add the experimental _(subject to breaking changes)_ `SemanticsAddon`.
SemanticsAddon. (#1402)home widget to customize the startup screen. (#1418)inspector package v3. (#1407)device_frame package with device_frame_plus package. (#1411)ExcludeSemantics from Widgetbook UI; to allow screen readers. (#1401 - by @Goddchen)FEAT: Add the experimental _(subject to breaking changes)_ `ViewportAddon` alongside its `ViewportAddonConfig`. This new addon will replace the Device…
ViewportAddon alongside its ViewportAddonConfig. This new addon will replace the DeviceFrameAddon in the future. (#1318)REFACTOR: Deprecate WidgetbookCloudIntegration as it is not used anymore, and can be safely removed.
FEAT: Add WidgetbookState.maybeOf. (#1342 - by @ABausG)
FIX: Expose WidgetbookScope to allow importing it in tests.
WidgetbookScope to allow importing it in tests. (#1325)REFACTOR: Use a slider instead of a dropdown for TextScaleAddon. The scales parameter is deprecated, and can be removed or replaced with a combination…
TextScaleAddon. The scales parameter is deprecated, and can be removed or replaced with a combination of min, max and divisions parameters if the default values are not sufficient. (#1224 - by @ash14)DropdownMenu to the full width of the sidebar. (#1287)BREAKING: Set minimum SDK version to 3.0.0 & minimum Flutter version to 3.16.0.
MediaQuery.textScaler instead of MediaQuery.textScaleFactor for TextScaleAddon. (#1244)GridPaper for GridAddon. (#1259)listOrNull knob. (#1233)FIX: Show popup routes (e.g. dialogs and modal sheets) inside the boundaries on the device frame.
REFACTOR: Deprecate AccessibilityAddon in favor of BuilderAddon. Check out the setup guide to know how to migrate.
list knob against null values when searching. (#1152 - by @bramp)AccessibilityAddon in favor of BuilderAddon. Check out the setup guide to know how to migrate. (#1193)REFACTOR: Wrap workbench with Scaffold.
FIX: Enable InspectorAddon on release builds.
InspectorAddon on release builds. (#1087)EnumArg. (#1073)SingleArg. (#1075)BuilderArg. (#1079)Arg.value to be positional parameter instead of named one. (#1077)Arg.name. (#1078)MetaWithArgs. (#1080)args parameter to Story.setup. (#1081)setup in Scenarios. (#1082)LeafComponent. (#1083)REFACTOR: Use const named constructors for Widgetbook, instead of static methods.
FIX Ignore deprecated MediaQuery.textScaleFactor; to maintain compatibility with Flutter versions < 3.16.0.
MediaQuery.textScaleFactor; to maintain compatibility with Flutter versions < 3.16.0. (#1053)FIX: Use MediaQuery.of(context).size instead of MediaQuery.sizeOf, to maintain compatibility with Flutter v3.7.
REFACTOR: Deprecate WidgetbookAddon's initialSetting. Should be replaced by a local field in relevant addons.
WidgetbookLeafComponent navigation node for components with a single use-case. (#1015)designLink to WidgetbookUseCase. (#926 - by @Mastersam07)color knob. (#986 - by @francescovallone)colorOrNull knob. (#1027)duration knob. (#934 - by @Mastersam07)dateTime knob. (#940 - by @logickoder)int knob. (#942 - by @Mastersam07)q query param for search. (#950 - by @boredcity)MapMixin instead of MapBase for KnobsRegistry. (#903)slider knobs' parameters. (#1016)booleanOrNull knobs's initialValue to null; to match other orNull knobs. (#1026)DefaultTextStyle to ThemeAddons. (#1041)WidgetbookAddon's initialSetting. Should be replaced by a local field in relevant addons. (#1023)Field.onChanged. (#1024)Knob.value & KnobsRegistry.updateValue in favor of Knob.initialValue. (#1025)color knobs's initialValue parameter. (#1039)REFACTOR: Deprecate WidgetbookState.updateKnobValue in favor of WidgetbookState.knobs.updateValue.
WidgetbookState.updateQueryField. (#888)WidgetbookState.knobs type from Map<String, Knob> to KnobsRegistry. (#885)WidgetbookState.updateKnobValue in favor of WidgetbookState.knobs.updateValue. (#885)listOrNull knob. (#881)REFACTOR: Deprecate WidgetbookUseCase.center in favor of [AlignmentAddon].
DeviceFrameAddon.devices is no longer nullable, in favor of the new NoneDevice. (#854)DropdownMenu theme. (#844)appBuilder optional. (#843)MultiChildNavigationData with WidgetbookNode. (#833)WidgetbookUseCase.center in favor of [AlignmentAddon]. (#826)path the first query parameter. (#855)string knobs. (#817)listOrNull knob type cast. (#818)FEAT: Preserve current state on web after doing hot restart or refresh from the browser.
initialRoute. (#794)Scaffold around use-cases with a ColoredBox below the Theme widget. ThemeAddon should be now added to Widgetbook.addons after the DeviceFrameAddon, and not before as in previous versions. (#789)Material widget through default appBuilder of Widgetbook.material. (#792)Check out the migration guide for more information.
Check out the migration guide for more information.
FEAT: Make side panels resizable.
listOrNull knob. (#741)initialOption to list knob. (#733)FieldsComposable to unify addons/knobs APIs. (#749)SafeArea to device addon. (#760)widgetbook_core package to widgetbook package. (#742)WidgetbookState. (#724)KnobsBuilder.onKnobAdded public. (#727)double.slider knob. (#757)LabelBuilder, which affected the list knob. (#718)labelBuilder-based string comparison in list knob. (#729)key to use cases to prevent out-of-sync builds. (#720)onNodeSelected from being called if the node is already selected. (#725)ListView for SettingsPanel. (#732)context while retrieving state to avoid out-of-sync UI. (#751)Check out the migration guide for more details.
buildUseCase methods to Addons, that act as micro-appBuilders. (#646)preview query param instead of disable-navigation, disable-properties and panels query params. (#687)WidgetbookState. (#674)integrations and WidgetbookCloudIntegration. (#689)setting parameter. (#652)FrameAddon in favor of the new DeviceFrameAddon. (#632, #686)WidgetbookAddOn to WidgetbookAddon. (#711)configureMaterialAddons and configureCupertinoAddons functions. (#677)provider dependency. (#682)go_router dependency. (#625)flutter_bloc dependency. (#705)freezed dependency. (#703)Widgetbook's addons parameter optional. (#690)StyledScaffold that made focus not work properly. (#650)REFACTOR: :recycle: addon multi property preview.
AddOn API.NavigationTree.AddOn implemementation.DeviceAddon.directories to be not empty.go_router diagnostics.panels query param (#612).FIX(widgetbook): :bug: remove go_router diagnostics.
go_router diagnostics. (a5395ee7)Your coding agent can read these notes before it upgrades. Set up the MCP server →