NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
State-driven Flutter animation primitives built on flutter_animate. Respects system reduce-motion. Includes entrance, opacity, surface, and skeleton shimmer widgets.
Last release 2 months ago
16 Jul 2026
Too new to tell
only 2 release windows
Nearly every release is documented
notes for 5 of 5 stable releases
Nothing withdrawn
no release was ever pulled
3 months old
5 releases · first in 2026
One column per month.
AnimatedCheckmark: draws/un-draws a checkmark stroke via CustomPaint path metrics; purely visual, wrap in your own semantic control.
New widgets:
AnimatedCheckmark: draws/un-draws a checkmark stroke via CustomPaint
path metrics; purely visual, wrap in your own semantic control.RollingCounter: slot-machine digit roll on value change — rolls up for
increases, down for decreases, tabular figures to prevent column shift,
announces the whole number once to screen readers.Marquee: loops overflowing text horizontally at a configurable velocity;
renders static text when it fits, static ellipsized text (no ticker) under
reduce-motion, and announces the full text once.Custom easing:
curve parameter to all 19 widgets with a meaningful transition
(entrances, toggles, FlipCard, FadeSwitcher, TapScale,
PulseAnimation, BounceAnimation, CountUpText, progress ring/bar).
Defaults match previous behavior; for entrance widgets curve shapes the
motion component while the fade stays Curves.easeOut.New widgets (all respect MediaQuery.disableAnimations, follow the package's semantics and repaint-isolation standards):
New widgets (all respect MediaQuery.disableAnimations, follow the
package's semantics and repaint-isolation standards):
BlurEntrance: fade + blur-to-sharp on mount.FlipEntrance: fade + 3D flip in on mount (FlipAxis horizontal/vertical).FlipCard: state-driven 3D flip between a front and back face.AnimatedBlur: state-driven Gaussian blur toggle (spoilers, focus
effects); skips the filter entirely when crisp.FadeSwitcher: cross-fade + subtle scale between changing children —
an AnimatedSwitcher with production defaults and reduce-motion guard.TapScale: press-down scale feedback wrapping a GestureDetector.SpinAnimation: repeating continuous rotation for loading/sync
indicators, repaint-isolated.LoadingDots: staggered "typing indicator" dots driven by a single
shared controller (dots can't drift out of phase), repaint-isolated,
no ticker under reduce-motion.AnimatedProgressBar: linear counterpart to AnimatedProgressRing,
with the same single-announcement semantics and semanticsLabel.New widgets (all respect MediaQuery.disableAnimations):
New widgets (all respect MediaQuery.disableAnimations):
RotateEntrance: fade + rotate in on mount.ExpandableSection: state-driven expand/collapse of a child's height,
keeping the child mounted (and its state preserved) while collapsed.BounceAnimation: repeating vertical bounce for attention effects.AnimatedProgressRing: animates a circular progress ring to its value;
reruns on change, with an optional centered child (e.g. a percentage label).New widgets (all respect MediaQuery.disableAnimations):
New widgets (all respect MediaQuery.disableAnimations):
ScaleEntrance: fade + scale in on mount.StaggeredList: column of children with cascading FadeEntrance delays.ScaleToggle: state-driven scale between minScale and 1.0.SlideToggle: state-driven slide between hiddenOffset and Offset.zero.PulseAnimation: repeating scale + fade pulse for attention effects.ShakeAnimation: horizontal shake replayed whenever trigger changes.CountUpText: animates a number to its value; reruns on change.TypewriterText: reveals text character by character with optional delay.Initial extraction from sdraw monorepo.
FadeEntrance: fade + slide-Y entrance animation.AnimatedVisibility: state-driven opacity with configurable minOpacity.AnimatedSurface: state-driven BoxDecoration transition.SkeletonBox: repeating shimmer for loading placeholder states.MediaQuery.disableAnimations.Your coding agent can read these notes before it upgrades. Set up the MCP server →