NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3919 most downloaded on pub.dev
A highly customizable toggle switch with a loading state. Useful when getting data from remote calls.
Last release 11 days ago
27 Sep 2026
Release timing varies
gaps range from 2 weeks to 12 months
Most releases are documented
notes for 17 of 20 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
20 releases · first in 2022
One column per quarter.
Fixes keyboard focus being thrown off the switch as soon as a toggle started loading. The switch now keeps focus, and its focus ring, for the whole to
canRequestFocus on a caller-supplied
focusNodeLoadSwitch.managed now always shows the value its parent passes in. It
used to display the toggle result straight away, so a parent that declined
the change in onChanged saw the switch jump back on its next, unrelated
rebuildonChanged are no longer swallowed, or passed to
onError as if the toggle had failed. The widget reports them through
FlutterError.reportError, and
LoadSwitchController.executeWithLoading() completes its future with themLoadSwitchController.clearLoadingAfterFrame() now requests a frame, so
listeners are notified even when it is called while the app is idleonChanged now fires once loading has been cleared, both for the widget and
for executeWithLoading()onTap
no longer fires for a switch that is both loading and inactiveFix caller-owned LoadSwitchController left loading forever when a controlled switch was disposed, changed mode, or swapped mid-toggle
LoadSwitchController being left loading forever when a
LoadSwitch.controlled was disposed, changed mode, or had its controller
swapped while an async toggle was still in flight. The widget now tracks the
controller whose loading state it switched on and always hands it backisLoading: true back to the default. An omitted isLoading now means "not
loading" instead of "do not synchronize"; loading driven by the widget's own
toggle is tracked separately and is unaffectedSpinStyle.cupertino now honors spinColor instead of ignoring itSpinStyle.waveSpinner now renders SpinKitWaveSpinner instead of
duplicating SpinStyle.waveStartonTap feedback pointer users already hadfocusNode, autofocus and
focusColorsemanticLabel, loadingSemanticHint and disabledSemanticHint for
configurable screen reader announcementswidth, height and
spinStrokeWidth, and negative animation durationsspinnerAnimationDuration does not affect the native Material
and Cupertino indicators, which animate at a fixed rateLoadSwitchController.clearLoadingAfterFrame(), used by the widget to
release loading during teardown without notifying listeners while the widget
tree is locked✨ Improve LoadSwitch and LoadSwitchController by refining value chang…
✨ Improve LoadSwitch and LoadSwitchController by refining value chang…
LoadSwitch constructor with explicit
LoadSwitch.managed and LoadSwitch.controlled modesfuture to onToggle and onChange to onChangedanimationDuration into switchAnimationDuration and
spinnerAnimationDurationonError to include both Object and StackTraceLoadSwitchController.executeWithLoading() naming with the widget APItoggled semantics instead of checkbox-style
semantics✨ Refactor LoadSwitch to support LoadSwitchController and improve sta…
✨ Refactor LoadSwitch to support LoadSwitchController and improve sta…
LoadSwitchController for programmatic control of the switchtoggle() methodexecuteWithLoading()addListener()🗑️ Remove 'flutter' topic from pubspec.yaml
🗑️ Remove 'flutter' topic from pubspec.yaml
🤡 Add LoadSwitch examples with default and custom styles
🤡 Add LoadSwitch examples with default and custom styles
✨ Add new loading spinner styles
⬆️ ➕ Update version and add flutter_spinkit dependency
style. The library extends flutter_spinkit internally adding some fancy spin animations. Keep in mind you can also edit the thumbDecoration & switchDecoration for different color & shapes. The examples have the default circular thumb with white color. The default style is SpinStyle.material.| material | cupertino | chasingDots |
|---|---|---|
| circle | cubeGrid | dancingSquare |
|---|---|---|
| doubleBounce | dualRing | fadingCircle |
|---|---|---|
| fadingCube | fadingFour | fadingGrid |
|---|---|---|
| foldingCube | hourGlass | pianoWave |
|---|---|---|
| pouringHourGlass | pulse | pulsingGrid |
|---|---|---|
| pumpingHeart | ring | ripple |
|---|---|---|
| rotatingCircle | rotatingPlain | spinningCircle |
|---|---|---|
| spinningLines | squareCircle | threeBounce |
|---|---|---|
| threeInOut | wanderingCubes | waveStart |
|---|---|---|
| waveCenter | waveEnd | waveSpinner |
|---|---|---|
💚 Update Flutter and checkout actions
💚 Update Flutter and checkout actions
onError(error) : Callback when the Future throws an erroronTap(bool) : Will always trigger even if the toggle is not active
onTap(bool) : Will always trigger even if the toggle is not activeonTap(bool) will trigger before the future, the bool is the value of the switch when tapped
onTap(bool) will trigger before the future, the bool is the value of the switch when tappedonChange(bool) will trigger after the future, the bool is the response of the futureAdds new parameter isActive to choose whether the toggle is active and can be interacted
isActive to choose whether the toggle is active and can be interactedswitchDecoration & thumbDecoration to also expose the activity statusNothing published for this version
Nothing published for this version
Adds thumbSizeRatio (0 - 1) to control the size of the thumb
thumbSizeRatio (0 - 1) to control the size of the thumbDefault:
<img src="https://i.imgur.com/LdHfQU4.png" width="350px"></img>
thumbSizeRation = 0.8
<img src="https://i.imgur.com/0FJ185A.png" width="350px"></img>
Adds isLoading flag to manually change the loading state when needed
isLoading flag to manually change the loading state when neededFixes switch not updating when value was changed
value was changedSimplifies API by removing redundant parameters.
Check the README for the examples.
Nothing published for this version
Removes unnecessary parent widgets (Scaffold & Center).
Scaffold & Center).Removes forgotten print outputs.
- Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →