widgetbook
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.
3.25.0
1000K downloads/mo
#96 most downloaded on pub.dev
widgetbook/widgetbook
What this package is like to depend on
Last release 22 days ago
01 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 65 of 65 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
110 releases · first in 2021
25 releases in the last 12 months
see the full history below
Release timeline
110 releases · Aug 2021 to Aug 2026Releases
latest 60 of 110-
4.0.0-beta.1101 Aug 2026 pre-releaseRelease notes
Open source →- FIX: Rebuild the workbench preview when switching between stories
of the same component, instead of keeping the previously selected
story's state.
(#1994)
- FIX: Rebuild the workbench preview when switching between stories
-
4.0.0-beta.1008 Jul 2026 pre-releaseRelease notes
Open source →- FEAT: Add
excludeFromTeststoStoryandScenarioto skip a
story or scenario duringtestWidgetbooksnapshot generation while
keeping it browsable in the app. Excluded items are reported as skipped
byflutter test.
(#1978) - FIX: Reset the image cache between scenarios in
testWidgetbook
so a failed or still-pending image load in one story no longer leaks
into and fails a later, unrelated one.
(#1977)
- FEAT: Add
-
4.0.0-beta.902 Jul 2026 pre-release -
4.0.0-beta.825 Jun 2026 pre-release -
4.0.0-beta.723 Jun 2026 pre-releaseRelease notes
Open source →Releases
widgetbook_cli4.0.0-beta.6→4.0.0-beta.7, in sync
withwidgetbook(see #1944).Changes
versioninpackages/widgetbook_cli/pubspec.yamland
packageVersioninmetadata.dart.- Bumped
widgetbookVersion(thewidgetbookversion installed by
widgetbook init)4.0.0-beta.6→4.0.0-beta.7, keepinginitin
sync with the latestwidgetbook(matches the beta.6 release). - Renamed the
## Unreleasedchangelog section to## 4.0.0-beta.7and
added a**FIX**entry for theinitversion bump. cliversion variable indocs.json(widgetbookvalue owned by
#1944).
Notes
- Pairs with the
widgetbookrelease in #1944 so both packages land on
4.0.0-beta.7. widgetbook initnow targetswidgetbook4.0.0-beta.7, so
widgetbook4.0.0-beta.7should be published before/with this for
initto resolve.- This and #1944 each edit an adjacent line in
docs.json(clivs
widgetbook), so whichever merges second may need a trivial conflict
resolution.
-
4.0.0-beta.622 Jun 2026 pre-releaseNothing published for this version
-
4.0.0-beta.413 Jun 2026 pre-releaseNothing published for this version
-
4.0.0-beta.331 Mar 2026 pre-releaseNothing published for this version
-
4.0.0-beta.206 Mar 2026 pre-releaseNothing published for this version
-
4.0.0-beta.125 Feb 2026 pre-releaseNothing published for this version
-
4.0.0-alpha.505 Dec 2025 pre-releaseNothing published for this version
-
4.0.0-alpha.421 Nov 2025 pre-releaseNothing published for this version
-
4.0.0-alpha.310 Oct 2025 pre-releaseNothing published for this version
-
4.0.0-alpha.224 Jan 2024 pre-releaseNothing published for this version
-
4.0.0-alpha.123 Dec 2023 pre-releaseNothing published for this version
-
3.25.025 Jun 2026Release notes
Open source →- FEAT: Add
unitsparameter to the duration knob to choose which time units (days to microseconds) are shown. (#1915 - by @EArminjon)
- FEAT: Add
-
3.24.008 Jun 2026 -
3.23.006 May 2026Release notes
Open source →- FEAT: Add
defaultToNullparameter to nullable knobs to make them start in anull(i.e. unchecked) state while having a non-null initial value. (#1790 - by @youpelegrace) - REFACTOR: Allow
inspector4.x. (#1901) - FEAT: Add
headerPaddingparameter to customize the padding around the navigation panel header. (#1882 - by @EArminjon)
- FEAT: Add
-
3.22.018 Feb 2026Release notes
Open source →- FIX: Ensure slider label use max size (#1823 - by @EArminjon)
- BREAKING: Set minimum SDK version to 3.10.0 & minimum Flutter version to 3.38.0. (#1803)
-
3.21.010 Feb 2026Release notes
Open source →- BREAKING: Set minimum SDK version to 3.9.0 & minimum Flutter version to 3.35.0. (#1803)
- FIX: Hide navigation tree items when search query has no matches; instead of showing the full tree. (#1786 - by @EArminjon)
- REFACTOR: Change
DurationFieldto be 3 inputs with the format ofHH:MM:SSinstead of a single one for milliseconds. (#1769 - by @youpelegrace) - FIX: Prevent use-case rebuilds when
WidgetbookThemechanges. (#1795 - by @EArminjon)
-
3.20.225 Nov 2025Release notes
Open source →- FIX: Consider
NumberSliderField's min label width when calculating the labels' max width. (#1757 - by @EArminjon)
- FIX: Consider
-
3.20.118 Nov 2025 -
3.20.007 Nov 2025Release notes
Open source →- BREAKING: Set minimum SDK version to 3.8.0 & minimum Flutter version to 3.32.0. (#1719)
- FEAT: Support dynamic knobs. (#1709 - by @EArminjon)
- FEAT: Expose
precisionparameter inDoubleSliderFieldandknobs.double.slider. The default value is currently1, to get the old behavior, set it tonull. (#1706 - by @EArminjon) - FIX: Allow
IterableSegmentedFieldto parse unknown values. (#1703 - by @EArminjon)
-
3.19.028 Oct 2025Release notes
Open source →- FEAT: Add color picker to
ColorField. (#1659 - by @EArminjon) - FEAT: Add
enableLeafComponentparameter toWidgetbookto allow enabling/disabling leaf components (i.e. components with a single use-case) behavior. (#1680 - by @EArminjon) - FEAT: Add
iterable.segmentedknob, along with itsIterableSegmentedField. (#1678 - by @EArminjon)
- FEAT: Add color picker to
-
3.18.007 Oct 2025 -
3.17.130 Sep 2025Release notes
Open source →- FIX: Clamp
NumSliderFieldvalue to avoid exceptions when the boundaries change. (#1590 - by @EArminjon) - FIX: Upscale
SemanticsAddonto make it fill the entire viewport. (#1611 - by @EArminjon) - REFACTOR: Show selected state in
SemanticsAddon. (#1614 - by @EArminjon)
- FIX: Clamp
-
3.17.015 Sep 2025Release notes
Open source →- FEAT: Expose Widgetbook's own scroll behavior to allow customizing it. (#1524 - by @EArminjon)
- FIX: Support Flutter 3.35.0. (#1565)
- REFACTOR: Deprecate
WidgetbookLeafComponentin favor ofWidgetbookComponentwhich will now have similar behavior when it has a single use-case. (#1573) - FIX: Allow knobs to be re-registered. This makes it possible for a knob to mutate other knobs. (#1578 - by @EArminjon)
- FIX: Allow nullable knobs first interaction, by introducing a
Field.defaultValue, that will be used for setting the value when initial value isnull. (#1581 - by @EArminjon) - FIX: Re-enable nullified knobs on change. (#1586 - by @EArminjon)
-
3.16.008 Aug 2025Release notes
Open source →- BREAKING: Set minimum SDK version to 3.7.0 & minimum Flutter version to 3.29.0. (#1541)
- FEAT: Add
object.segmentedknob. (#1478 - by @Sourav-Sonkar) - REFACTOR: Deprecate
ListFieldin favor ofObjectDropdownField. (#1541) - REFACTOR: Deprecate
knobs.listin favor ofobject.dropdown. (#1547)
-
3.15.001 Aug 2025 -
3.14.310 Jun 2025Release notes
Open source →- FIX: Unify background color between the workbench and
DeviceFrameAddon. (#1461 - by @ValentinVignal) - FIX: Fix memory leaks by disposing
WidgetbookState'sKnobsRegistry. (#1487 - by @ValentinVignal) - FIX: Add hints to
TextFields to improve accessibility. (#1483 - by @lsaudon) - FIX: Preserve Viewport's title style when a custom
ThemeDatais used in theappBuilder. (#1489) - REFACTOR: Support
device_frame_plusv1.5.0. (#1481)
- FIX: Unify background color between the workbench and
-
3.14.226 May 2025Release notes
Open source →- FIX: Tighten
device_frame_plusversion constraints; to prevent the breaking changes introduced in v1.4.0. (#1475 - by @Peetee06)
- FIX: Tighten
-
3.14.123 May 2025 -
3.14.015 May 2025Release notes
Open source →- FEAT: Add
headerparameter to Widgetbook to allow adding a custom header to the navigation sidebar. (#1443 - by @Sourav-Sonkar) - FEAT: Add
panelsquery param to show/hide panels when embedding Widgetbook. (#1439) - FEAT: Rework nullable knobs to allow them to be expressed in the URL. To indicate that a knob is null it can be expressed as
??(e.g./?path=my-use-case&knobs={my_knob:??}). (#1450) - FEAT: Add
safeAreasto viewports. (#1452) - REFACTOR: Remove
ViewportData.idin favor ofViewportData.name. (#1454) - FIX: Ensure a fresh state is used when building the use-case. This prevented some rebuilds from happening, causing knobs to not be registered properly. (#1441)
- FIX: Handle
nullindurationOrNullknob. (#1444) - FIX: Unify
colorknob fields' heights. (#1445) - FIX: Prevent falling back to initial/default values when changing
NumInputField,DurationFieldandDateTimeFieldvalues. (#1446) - FIX: Rebuild
DateTimeFieldafter using the picker. (#1447)
- FEAT: Add
-
3.13.122 Apr 2025Release notes
Open source →- FIX: Add missing fields to
NoneDevice. These fields were introduced indevice_frame_plusv1.3.1. (#1430)
- FIX: Add missing fields to
-
3.13.017 Apr 2025Release notes
Open source →- FEAT: Add the experimental (subject to breaking changes)
SemanticsAddon. (#1402) - FEAT: Add a banner to the bottom of the navigation panel that shows the total number of components and use-cases. (#1405)
- FEAT: Add
homewidget to customize the startup screen. (#1418) - REFACTOR: Allow
inspectorpackage v3. (#1407) - REFACTOR: Replace
device_framepackage withdevice_frame_pluspackage. (#1411) - REFACTOR: Change mobile breakpoint to 840px. (#1416 - by @Goddchen)
- FIX: Remove
ExcludeSemanticsfrom Widgetbook UI; to allow screen readers. (#1401 - by @Goddchen)
- FEAT: Add the experimental (subject to breaking changes)
-
3.12.031 Mar 2025Release notes
Open source →- FEAT: Add the experimental (subject to breaking changes)
ViewportAddonalongside itsViewportAddonConfig. This new addon will replace theDeviceFrameAddonin the future. (#1318)
- FEAT: Add the experimental (subject to breaking changes)
-
3.11.013 Feb 2025 -
3.10.210 Jan 2025 -
3.10.113 Dec 2024Release notes
Open source →- FIX: Expose
WidgetbookScopeto allow importing it in tests. (#1325) - FIX: Allow special characters in search query. (#1293 - by @07Abhinavkapoor)
- FIX: Expose
-
3.10.018 Oct 2024Release notes
Open source →- REFACTOR: Use a slider instead of a dropdown for
TextScaleAddon. Thescalesparameter is deprecated, and can be removed or replaced with a combination ofmin,maxanddivisionsparameters if the default values are not sufficient. (#1224 - by @ash14) - REFACTOR: Expand
DropdownMenuto the full width of the sidebar. (#1287) - REFACTOR: Use tabs instead of accordion for the sidebar. (#1290)
- REFACTOR: Use a slider instead of a dropdown for
-
3.9.011 Sep 2024Release notes
Open source →- BREAKING: Set minimum SDK version to 3.0.0 & minimum Flutter version to 3.16.0. (#1243)
- FEAT: Allow changing Widgetbook's theme and mode. (#1225 - by @Mastersam07)
- REFACTOR: Use
MediaQuery.textScalerinstead ofMediaQuery.textScaleFactorforTextScaleAddon. (#1244) - REFACTOR: Use
GridPaperforGridAddon. (#1259) - FIX: Skip decoding non-ascii characters in URLs. (#1218 - by @shigomany)
- FIX: Encode all fields values to allow reserved characters (e.g. commas, colons and curly brackets). (#1214)
- FIX: Remove default value (i.e. first item) from
listOrNullknob. (#1233)
-
3.8.111 Jul 2024Release notes
Open source →- FIX: Show popup routes (e.g. dialogs and modal sheets) inside the boundaries on the device frame. (#1209)
-
3.8.011 Jun 2024Release notes
Open source →- FIX: Maintain theme in Flutter v3.22. (#1184)
- FIX: Allow colons (and other special characters) in fields' names. (#1165 - by @maudFrz)
- FIX: Guard
listknob against null values when searching. (#1152 - by @bramp) - REFACTOR: Deprecate
AccessibilityAddonin favor ofBuilderAddon. Check out the setup guide to know how to migrate. (#1193)
-
3.7.122 Dec 2023 -
3.7.013 Dec 2023Release notes
Open source →- FIX: Enable
InspectorAddonon release builds. (#1087) - EXPERIMENTAL: Add
EnumArg. (#1073) - EXPERIMENTAL: Add
SingleArg. (#1075) - EXPERIMENTAL: Add
BuilderArg. (#1079) - EXPERIMENTAL: Change
Arg.valueto be positional parameter instead of named one. (#1077) - EXPERIMENTAL: Allow overriding
Arg.name. (#1078) - EXPERIMENTAL: Support custom args via
MetaWithArgs. (#1080) - EXPERIMENTAL: Add
argsparameter toStory.setup. (#1081) - EXPERIMENTAL: Use
setupinScenarios. (#1082) - EXPERIMENTAL: Add
LeafComponent. (#1083) - EXPERIMENTAL: Support optional parameters arg-generation. (#1084)
- FIX: Enable
-
3.6.006 Dec 2023 -
3.5.001 Dec 2023Release notes
Open source →- FIX Ignore deprecated
MediaQuery.textScaleFactor; to maintain compatibility with Flutter versions < 3.16.0. (#1053) - EXPERIMENTAL: Add support for SAM Architecture. (#1064)
- FIX Ignore deprecated
-
3.4.114 Nov 2023 -
3.4.009 Nov 2023Release notes
Open source →- BREAKING: Set minimum SDK version to 2.19.0 & minimum Flutter version to 3.7.0. (#1030)
- FEAT: Add mobile support. (#1019 - by @Mastersam07)
- FEAT: Add light theme support. (#919 - by @07Abhinavkapoor)
- FEAT: Introduce
WidgetbookLeafComponentnavigation node for components with a single use-case. (#1015) - FEAT: Add
designLinktoWidgetbookUseCase. (#926 - by @Mastersam07) - FEAT: Add spaces to
colorknob. (#986 - by @francescovallone) - FEAT: Add
colorOrNullknob. (#1027) - FEAT: Add
durationknob. (#934 - by @Mastersam07) - FEAT: Add
dateTimeknob. (#940 - by @logickoder) - FEAT: Add
intknob. (#942 - by @Mastersam07) - FEAT: Add Inspector Addon. (#985 - by @Mastersam07)
- FEAT: Add Accessibility Addon. (#1020)
- FEAT: Add Grid Addon. (#943 - by @Mastersam07)
- FEAT: Add Zoom Addon. (#968 - by @Mastersam07)
- FEAT: Add
qquery param for search. (#950 - by @boredcity) - FIX: Use
MapMixininstead ofMapBaseforKnobsRegistry. (#903) - FIX: Maintain navigation panel state on reload. (#932 - by @khurramrizvi)
- FIX: Add default values for
sliderknobs' parameters. (#1016) - FIX: Change
booleanOrNullknobs'sinitialValueto null; to match otherorNullknobs. (#1026) - FIX: Add
DefaultTextStyletoThemeAddons. (#1041) - REFACTOR: Deprecate
WidgetbookAddon'sinitialSetting. Should be replaced by a local field in relevant addons. (#1023) - REFACTOR: Deprecate
Field.onChanged. (#1024) - REFACTOR: Deprecate
Knob.value&KnobsRegistry.updateValuein favor ofKnob.initialValue. (#1025) - REFACTOR: Add default value to
colorknobs'sinitialValueparameter. (#1039)
-
3.3.019 Sep 2023Release notes
Open source →- FEAT: Add Builder Addon. (#895)
- FEAT: Add Experimental Time Dilation Addon. (#887)
- FEAT: Add
WidgetbookState.updateQueryField. (#888) - REFACTOR: Change
WidgetbookState.knobstype fromMap<String, Knob>toKnobsRegistry. (#885) - REFACTOR: Deprecate
WidgetbookState.updateKnobValuein favor ofWidgetbookState.knobs.updateValue. (#885) - FIX: Remove false overriding for
listOrNullknob. (#881)
-
3.2.018 Aug 2023Release notes
Open source →- BREAKING:
DeviceFrameAddon.devicesis no longer nullable, in favor of the newNoneDevice. (#854) - REFACTOR: Support Flutter 3.13.0. (#847)
- REFACTOR: Update
DropdownMenutheme. (#844) - REFACTOR: Make
appBuilderoptional. (#843) - REFACTOR: Replace
MultiChildNavigationDatawithWidgetbookNode. (#833) - REFACTOR: Deprecate
WidgetbookUseCase.centerin favor of [AlignmentAddon]. (#826) - FIX: Make
paththe first query parameter. (#855) - FIX: Correct initial Checkbox value for null knobs. (#851)
- FIX: Ensure widget is mounted on change. (#814)
- FIX: Allow commas in
stringknobs. (#817) - FIX: Correct
listOrNullknob type cast. (#818)
- BREAKING:
-
3.1.030 Jun 2023Release notes
Open source →- FEAT: Add Alignment Addon. (#798)
- FEAT: Add
initialRoute. (#794) - FEAT: Preserve current state on web after doing hot restart or refresh from the browser. (#782)
- BREAKING: Replace the
Scaffoldaround use-cases with aColoredBoxbelow theThemewidget.ThemeAddonshould be now added toWidgetbook.addonsafter theDeviceFrameAddon, and not before as in previous versions. (#789) - FIX: Add
Materialwidget through defaultappBuilderofWidgetbook.material. (#792)
-
3.0.027 Jun 2023 -
3.0.0-rc.216 Jun 2023 pre-releaseRelease notes
Open source →- FEAT: Support hot reloading. (#759)
- FEAT: Make side panels resizable. (#738)
- FEAT: Add
listOrNullknob. (#741) - FEAT: Add
initialOptiontolistknob. (#733) - BREAKING: Create
FieldsComposableto unify addons/knobs APIs. (#749) - REFACTOR: Add
SafeAreato device addon. (#760) - REFACTOR: Move
widgetbook_corepackage towidgetbookpackage. (#742) - REFACTOR: Export
WidgetbookState. (#724) - REFACTOR: Export fields to be used for custom addons/knobs. (#728)
- REFACTOR: Make
KnobsBuilder.onKnobAddedpublic. (#727) - REFACTOR: Add value label to
double.sliderknob. (#757) - FIX: Use addons/knobs initial values. (#746)
- FIX: Use related type checks when comparing device's frame state to its query parameter. (#715)
- FIX: Add missing type parameter to
LabelBuilder, which affected thelistknob. (#718) - FIX: Use
labelBuilder-based string comparison inlistknob. (#729) - FIX: Add
keyto use cases to prevent out-of-sync builds. (#720) - Fix: Prevent
onNodeSelectedfrom being called if the node is already selected. (#725) - Fix: Use
ListViewforSettingsPanel. (#732) - Fix: Use fresh
contextwhile retrieving state to avoid out-of-sync UI. (#751)
-
3.0.0-rc.103 Jun 2023 pre-releaseRelease notes
Open source →- Check out the migration guide for more details.
- FEAT: Add Dart 3 and Flutter 3.10 support. (#676)
- FEAT: Add
buildUseCasemethods to Addons, that act as micro-appBuilders. (#646) - FEAT: Add
previewquery param instead ofdisable-navigation,disable-propertiesandpanelsquery params. (#687) - FEAT: Create
WidgetbookState. (#674) - FEAT: Add
integrationsandWidgetbookCloudIntegration. (#689) - BREAKING: Drop Flutter 2 support. (#676)
- BREAKING: Use type-based knob names. (#695)
- BREAKING: Cleanup Addons constructors by removing the
settingparameter. (#652) - BREAKING: Remove
FrameAddonin favor of the newDeviceFrameAddon. (#632, #686) - BREAKING: Rename
WidgetbookAddOntoWidgetbookAddon. (#711) - BREAKING: Remove
configureMaterialAddonsandconfigureCupertinoAddonsfunctions. (#677) - REFACTOR: Drop
providerdependency. (#682) - REFACTOR: Drop
go_routerdependency. (#625) - REFACTOR: Drop
flutter_blocdependency. (#705) - REFACTOR: Drop
freezeddependency. (#703) - REFACTOR: Made
Widgetbook'saddonsparameter optional. (#690) - FIX: Remove
StyledScaffoldthat made focus not work properly. (#650)
-
3.0.0-beta.1412 Apr 2023 pre-releaseRelease notes
Open source →- REFACTOR: :recycle: addon multi property preview.
- REFACTOR: :recycle: removed package analysis_options files.
- REFACTOR: :recycle: warnings.
- REFACTOR: :recycle:
AddOnAPI. - REFACTOR: :recycle: improve API interface of addons.
- REFACTOR: :recycle: warnings.
- REFACTOR: :recycle: settings.
- REFACTOR: navigation logic.
- REFACTOR: 🛠️ uses new
NavigationTree. - REFACTOR: :recycle: adjust content.
- REFACTOR: :recycle: adjust generator to
AddOnimplemementation. - REFACTOR: :zap: refactored addons.
- REFACTOR:
DeviceAddon. - REFACTOR: adjusted code to match linter.
- FIX: :test_tube: fixed broken test.
- FIX: :bug: requires
directoriesto be not empty. - FIX: :bug: properties resetting when changing locale.
- FIX: :bug: properties not changing on navigate.
- FIX: inserted scaffold messenger.
- FIX: expanding of elements within the navigation is not working.
- FIX: :bug: addons property cannot be empty.
- FIX: navigation tree collapsing and expanding does not work.
- FIX: orientation defaults to landscape.
- FIX: :bug: provider not found.
- FIX: knob values do not update when usecase changes.
- FIX: :bug: remove
go_routerdiagnostics. - FIX: :bug: improve Canvas.
- FIX: :bug: navigation resets when use case changes.
- FIX: :bug: addons show incorrect item.
- FIX: custom painter Widgets are incorrectly rendered.
- FIX: :bug: hot reload of directories.
- FIX: :bug: selected items not shown for addon.
- FIX: dialog shows up in Widgetbook instead of the simulated device.
- FIX: add packages/widgetbook prefix.
- FIX: change ttf files with fonts.google ones.
- FIX: :bug: ignores country codes.
- FIX: added MediaQuery for WidgetbookDeviceFrame.
- FIX: preview app shows debug banner.
- FIX: preview app shows debug banner in other theme than material.
- FIX: useCaseBuilder is called with old context.
- FEAT: :sparkles: addon multi property preview.
- FEAT: :sparkles: addon routing.
- FEAT: :sparkles: text scale addon.
- FEAT: :sparkles: device addon.
- FEAT: :sparkles: cupertino theme addon.
- FEAT: :sparkles: remove obsolete classes.
- FEAT: :sparkles: theme addon.
- FEAT: :sparkles: Theme needs to be accessible via the app builder function.
- FEAT: :zap: added text knob multiline.
- FEAT: :zap: added text knob multiline.
- FEAT: :zap: added color knob.
- FEAT: add
panelsquery param (#612). - FEAT: added feature to toggle the orientation of a device.
- FEAT: added textScaleFactors for font accessibility.
- FEAT: :sparkles: addons and localization addon.
- DOCS: added how to use widgetbook with a package.
-
3.0.0-beta.1313 Mar 2023 pre-release -
3.0.0-beta.1213 Mar 2023 pre-release -
3.0.0-beta.1120 Feb 2023 pre-release -
3.0.0-beta.1020 Feb 2023 pre-releaseRelease notes
Open source →