NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Spring-physics motion components for Flutter — a one-to-one port of the beUI React library, from switches and docks to shader backgrounds.
Last release 1 months ago
07 Sep 2026
Too new to tell
only 2 release windows
Nearly every release is documented
notes for 4 of 4 stable releases
Nothing withdrawn
no release was ever pulled
1 months old
4 releases · first in 2026
One column per month.
It is a major because the dead and deprecated API below is deleted rather than kept.
Codebase slop audit. No component was redesigned; this release removes
duplication, dead code, and process residue that accumulated across the
1.x agent passes, and fixes the bugs found on the way. It is a major
because the dead and deprecated API below is deleted rather than kept.
beuiSidebarCanContain (use BeuiSidebarResource.canContain) andcitationTargetId.BeuiGlass.strongBg, thinBg, strongBlur, thinBlur — no componentbg, border and blur remain.BeuiAgentLayout.density and BeuiAgentDensity — no component branchedBeuiAgentTheme.compact still tightens the spacing tokens.BeuiCodeBlock.filenameNode,BeuiFileDiff.fileNode and BeuiPreviewRailStyle.trackExtent; usefilename/filenameWidget, file/fileWidget and itemSize.@visibleForTestingpub get no longer fails to compile: flutter_lucide renamedtrash_2 to trash in 1.41 and rotate_ccw_clock only exists from>=1.41.0 and the glyph is renamed.BeuiAgentTheme.decorateCard passed the glass palette's 20px CSS radiusMaterialApp without the BeuiColors extension no longer throws inBeuiColors.resolve.BeuiRangeSlider adopts the shared slider state, so a range whose maxBeuiAttachmentUpload: cancelling or removing a row mid-transfer noBeuiContextMenu no longer throws from num.clamp on viewportsBeuiPopover's hover-close delay is cancelled on re-hover and dispose.BeuiPreviewRail's two-tap touch preview no longer resets itself on anBeuiPromptInput re-measures when maxRows changes.BeuiShaderBackground discards a program that finished loading afterBeuiAnimatedSidebar honours a custom width in the offcanvas box;AnimatedOpacity wrappers that could never animate are gone.BeuiExpandingArrowButton no longer allocates a CurvedAnimation perTweenAnimationBuilder.ScrollController per overlay rebuild.BeuiTextCascade, stateful button, action swap, loadingBeuiFocusRing, so focusing noBeuiColors.resolve(context); beuiSpringSnap and beuiSpringScrollBeuiAiSidebar.onRenameError, BeuiFeedbackWidget.onSubmitErrorBeuiMultiChainSwap.networkFee,slippage, eta (previously hardcoded literals).BeuiAgentIcons.externalLink now reaches the citation and attachmentBeuiMagnetic and BeuiParallax.lerpDouble,listEquals, num.clamp, Curves.* and math.pi replace hand-rolledbeuiBlurSigma.test/support.dart owns the themed test app, blur probe, frame pumpcore_demos.dart is split per catalog slug.pubignore excludes the example's platform folders and fonts.motionFor (95 call sites);MediaQuery.disableAnimationsOf reads that remain gateBeuiAgentDisclosureInternal.reduce is optional and defaults to the?? in copyWith, a field missing from ==, or alerp.beuiTestApp instead of aMaterialApp.Published: https://pub.dev/packages/beui/versions/2.0.0
…likewise on code block and diff, with deprecated *Node params still accepted).
UX-audit remediation across the chat/agent family — 154 audited findings resolved (docs/UX_AUDIT_AGENT_CHAT_FLOWS.md holds the audit). Almost all API is additive; the deliberate default changes are listed under "Changed defaults" below.
BeuiToolApproval: details open by default whenever parameters exist; a
severity tier (normal/elevated/destructive) that re-weights the
actions for irreversible commands (warning glyph, tinted border, Deny
promoted, Always-allow suppressed); expired/timedOut statuses; grant
records once-vs-always and an onRevoke affordance for standing grants;
the action row can no longer double-fire during its exit.BeuiStreamingResponse: error is now visibly failed (destructive notice
complete; new stopped status with
a Continue affordance.BeuiAgentActivity: failed/cancelled statuses — a crashed run no longer
summarizes as success.BeuiImageGeneration: determinate progress hairline and onCancel.+ menu and model picker,
BeuiFileUpload (dropzone/remove/retry), the feedback widget's trigger and
close, and sidebar rows (visible focus + selected ≠ hover).BeuiOverlay surfaces even with trapFocus: false.announceText/onAnnounce hooks) instead
of 3–5 nested regions announcing nothing; terminal outcomes (Failed, Denied,
Copied, Sent) are announced.focusRing color role
(≥3:1 in all 22 theme×brightness combos) — focusing no longer shifts
content.outline bubbles get a visible edge; danger bubbles gain a leading glyph
and AA text.BeuiPromptInput: attachment chip rail (attachments, onAttachmentRemoved,
onAttachmentRetry, onSubmitFull with BeuiPromptSubmission), one
keyboard-driven model picker (BeuiSelectOption.icon), viewport-aware menu
placement, Enter-while-streaming feedback (onSubmitBlocked), memoised
measurement for large pastes.progress on attachment items, cancel-in-flight
(onCancel) distinct from remove, maxFileSize + inline rejection notice,
seekable audio scrubber (onSeek), honest default dropzone copy.BeuiInput: left-aligned error text (was centered — golden-verified),
announced errors, label association, shake replay via errorNonce, and the
standard TextField pass-throughs (autofill, input action, formatters,
maxLength, readOnly…).BeuiFeedbackWidget: drafts survive dismissal, submit validates inline
instead of disabling, optional sentiment row (showSentiment), announced
and screen-reader-stable success state.BeuiFileDiff: wide lines are horizontally scrollable or wrapped
(wrap: adaptive by default) instead of ellipsised; header copy control;
hunk-gap markers with optional context expansion (onExpandContext) and
change navigation; unified-diff copyText default.BeuiMessageScroller.builder — lazy sliver path for long transcripts.BeuiPreviewRail works on touch (tap-to-preview, tap-again-to-commit) and
marks the active destination by default.BeuiChatApp: responsive sidebarBreakpoint, keyboard-inset avoidance,
bubble width clamped (no more debug assert below 44px).BeuiMessage/BeuiMessageBubble animateIn now default to true
(mount-only; streaming updates never replay).BeuiToolApproval.defaultOpen resolves by parameters.isNotEmpty.BeuiPreviewRail.highlightActive defaults to true.BeuiFileUpload copy: "Browse files" / drag wording is opt-in
(dragAndDrop) because OS drop needs a consumer plugin.BeuiToolApproval/BeuiToolResult tool/title/description/meta
narrowed from Object to typed String? + Widget? pairs
(filename/file likewise on code block and diff, with deprecated
*Node params still accepted).BeuiAgentStrings now covers the full agent family (approval, results,
activity, todos, streaming actions, jump-to-latest); resolution is
widget param → theme strings → defaults.BeuiColors.focusRing role — clears WCAG 2.2 SC 1.4.11 (3:1) on all
11 themes in both brightnesses; ring is unchanged and stays for hairline
borders. Amber and lime cannot clear 3:1 in light mode at any alpha, so
their focus hue is darkened to 60% oklch lightness.BeuiAgentTheme.statusLight/statusDark (BeuiAgentStatusColors,
BeuiAgentStatusPalette) — agent status color was previously ~50 hardcoded
literals and could not be rethemed; painted defaults are preserved except
the AA lift noted under Contrast.LucideIcons.history was removed in
flutter_lucide 1.31.0. Replaced with rotate_ccw_clock.BeuiPullToRefresh: the indicator did not track the finger during the pull
(frozen at rest until release) — for all users, not only reduced motion.disableAnimations instead of freezing mid-transition.@@);
one shared disclosure primitive replaces eight, with a reduced-motion branch
that keeps an opacity fade instead of hard-cutting.Semantic theming for the AI-agent family, plus compact-to-expanded approval cards. Default visuals and motion are unchanged: omit BeuiAgentTheme and e
Semantic theming for the AI-agent family, plus compact-to-expanded approval cards. Default visuals and motion are unchanged: omit BeuiAgentTheme and every agent widget still resolves to the 1.0.0 source-fidelity look.
BeuiAgentTheme ThemeExtension — typography roles, bubble/card radii, conversation spacing, density, borders, optional glass cards, and semantic icon slots. Install it next to BeuiColors; ThemeData.fontFamily still owns the typeface.expanded / defaultExpanded / onExpandedChanged, compactChild / expandedChild, headerAction. Existing call sites are unchanged. Height uses beuiSpringLayout and is interruptible; reduced motion snaps.BeuiChatApp.borderRadius and BeuiMessageBubbleContent.maxWidthFactor are now nullable so the theme can supply the default; omitted arguments still resolve to 16 and 0.82.Initial release — a one-to-one Flutter port of beUI v2 , built on the motor motion engine so the source's exact spring physics carry over. All 72 beui
Initial release — a one-to-one Flutter port of beUI v2, built on the
motor motion engine so the source's exact spring physics
carry over. All 72 beui.dev catalog entries across three groups.
📦 pub.dev/packages/beui · 🎨 Live gallery
dependencies:
beui: ^1.0.0A beui.dev page is not always one component: several pages ship multiple
independently-installable widgets, and all of them are covered here.
Tilt Card, Button (+ Stateful + Magnetic), Animated CTA Buttons (expanding /
hold / slide), Marquee, Tabs, Switch, Input, Select (+ Morph), Checkbox,
Radio Group, Bottom Sheet, Pull to Refresh, Shared Layout Background,
Bounce Sidebar, Animated Sidebar (sidebar / floating / inset), Preview Rail,
Dock (+ separator-grouped actions), Tooltip, Context Menu, Popover (+ Morph),
Morphing Modal, Center Morph Modal, Text Animation (reveal / shimmer /
cascade / chromatic), Number Animation (count-up + ticker), Animated Badge,
Action Swap (blur / roll / cascade), Animated Toast Stack, Theme Toggle
(rectangle / circle / circle-blur / blinds), Bouncy Accordion, Drawer,
Scroll Animation (smooth scroll / progress / reveal / scroll-to / parallax),
Range Slider (ticked / fluid / wave / bubble / ruler), Wheel Picker, Table,
Shader Background (21 GPU variants), Cylinder Carousel, Loader (17 variants).
Infinite Masonry, Notification Stack, Fixtures (knockout bracket with
third-place playoff + knockout wheel), Availability Scheduler,
Multi-chain Swap, Dynamic Island, Command Palette, Expandable Action Bar,
Overflow Actions, Expandable Tabs, Swipeable List, File Upload (upload queue
Message Bubble, Message, Message Scroller, Prompt Input, Todo List,
Code Block, Approval Card, File Diff, Tool Result, Streaming Response,
Image Generation, Tool Approval, Citations, Agent Activity, Agent Loading
States (thinking shimmer / agent progress / reasoning text), AI Sidebar,
Chat App.
ease.ts, resolvedmotor-backed facade.BeuiColors ThemeExtension with light/dark and 11 color themes.BeuiOverlay foundation for every floating surface (tooltip, drawer,motionFor) that drops movement while preservingflutter_lucide icon set re-exported through the barrel.BeuiFileUpload and BeuiAttachmentUploadonBrowse, so the package takes noTabs/TabsList/TabsTrigger, Select/SelectTrigger/…, the AnimatedSidebar* family) collapse into singledocs/PORTING_SPEC.md §6.Your coding agent can read these notes before it upgrades. Set up the MCP server →