chore(deps): Update cargo dependencies - autoclosed - #43
Closed
renovate[bot] wants to merge 1 commit into
Closed
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/cargo-dependencies
branch
from
October 3, 2026 13:34
98672e9 to
e4fb503
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.3.5→0.3.70.6→0.70.6→0.70.3.5→0.3.70.2.189→0.2.1904.2.2→4.2.42.0.20→2.0.211.53.1→1.53.20.25→0.26Release Notes
longbridge/gpui-kit (gpui-component)
v0.7.0: GPUI Kit v0.7.0Compare Source
GPUI Kit v0.7.0
GPUI Kit v0.7.0 adds Toolbar, Questionnaire and TimeField, and makes window startup and overlay hosting consistent through a Base-owned Root. Plot primitives are now available without the styled component layer, while Input, TextView and charts gain richer editing, search, date/time and data-visualization APIs. This release also improves Dock interactions, accessibility, streaming and large-data performance; review the Breaking Changes below before upgrading.
New components
Toolbar and ToolbarGroup: compose application command rows with source-order controls, semantic groups, separators and flexible spacers. Left/Right moves focus through enabled controls with wrapping. The styled toolbar propagates its density to hosted controls and gives Buttons compact ghost presentation;
child/childrenaccept sized controls, whilecontent/contentsaccept labels, separators and custom content. The default size is Small; XSmall and Medium are supported, and Large uses Medium. Disabling toolbar navigation does not disable its controls automatically. (#3128)Questionnaire: build single-choice, multiple-choice and freeform questionnaires around
QuestionnaireState, with composable question, choice, input, progress and action parts. The component handles validation, optional skipping, keyboard shortcuts, focus, navigation and submission, using existing Radio, Checkbox, Input and Button controls. (#2878)TimeField and date/time picking: edit segmented hours and minutes, optionally seconds, using
TimeFieldState,TimePrecision::{Minute, Second}andHourCycle::{H23, H12}. A styled TimeField works independently in forms, and DatePicker enables time editing throughtime_precision,hour_cycleanddefault_time.date_time/set_date_timeexpose the combined value; date/time presets useDateRangePreset::date_time. In time-enabled single mode, each edit emits Change while the popup stays open; range mode remains date-only. DatePicker Change payloads require migration below. (#3206)Window hosting and framework boundaries
One window entry point:
gpui_kit::open_window(options, cx, build)returns(AnyWindowHandle, Entity<V>)and always wraps application content ingpui_base::Root, independent of Cargo feature unification. Callgpui_kit::init(cx)first, return content from the builder, and retain the returned entity when you need application state. In async work, invoke the helper insidecx.update; quit/close actions and keybindings remain application-owned. (#3152)Automatic overlay hosting: Root owns content, overlay hosting, keyboard traversal and selection copying;
gpui_component::Rootre-exports the Base type. Component initialization registers per-window presentation for dialogs, sheets, notifications, menus, tooltips, touch selection and window chrome. Manual layer-rendering APIs are removed; application operations remain onWindowExt. (#3152)Root plugins: design systems can register typed
RootPluginimplementations withRoot::register_plugin, retrieve them withRoot::plugin, and use preparation, styling and decoration hooks. Plugins are instantiated per window in registration order. Register them before creating windows; replacing a factory affects future windows, and existing roots are not retrofitted. (#3152)Plot primitives in Base: scales, shapes, axes, grids, labels, the
Plottrait, path caches and hover tracking move togpui_kit::base::plot, enabling custom charts without a Component dependency. Existinggpui_kit::component::plotimports remain available through re-exports.PlotElement<P>is the element behind custom plots and#[derive(IntoPlot)];PlotMotionandPlotThemeprovide theme-projected pointer and hover motion. Base defaults to no motion, styled charts now acceptf32, and Component forwards itsdecimalfeature to Base. Custom primitive APIs require migration below. (#3258)Simplified window startup
gpui_kit::init(cx)andgpui_kit::open_windowprovide a compact, standard startup sequence. The builder creates application content, and Kit supplies the Root and automatically hosts dialogs, sheets and notifications. UseWindowExtfor Component operations,gpui_base::TextSelectionfor selection, andWindowOptionswithwindow_border()for window decoration. (#3152)Updating existing window code
The following examples show how existing startup, overlay and window-operation code maps to the simplified APIs.
Editor and text input
Atomic inline tokens: Input and Textarea can represent mentions, commands and resource references as
InlineTokenannotations. Usereplace_with_token/replace_range_with_tokento insert them,InputContent::with_tokento restore validated ranges, andcontent()to save a draft. Caret movement, selection, deletion and undo treat each token as one unit, while values and clipboard content remain plain text. Customize presentation withtokenand activation withon_token_clickorActivateToken. Tokens are opt-in and unavailable in Editor, NumberInput, password and formatted-mask modes. (#3113)Editor range decorations: independent consumers can create edit-tracked
RangeDecorationCollectionhandles throughEditorState::create_range_decorations_collection.RangeDecorationsupportsRangeDecorationStyle::{Fill, Frame}with optional color; collections can set, append, clear, read tracked ranges or dispose. Decorations use UTF-8 byte ranges and paint only visible spans, including soft wraps, CRLF and folded text.InputExtras::range_decorationshas a default empty implementation, so existing implementers continue to compile. (#3040)Textarea sizing and editor gutters: Textarea supports the standard size system like Input, and the line-number gutter adapts between three and seven digits instead of reserving an unsuitable fixed width. (#3191, #3205)
Focus, selection and asynchronous editing: corrected disabled-input pointer focus, preferred columns and vertical selection affinity, drag-selection autoscroll, stale completion/inline responses, IME selection direction and undo boundaries, replacement-field focus and explicit GoToDefinition requests. Accessibility Focus refuses disabled inputs; SetValue is advertised and applied only when editable. Re-requesting code actions refreshes an already-open menu, including empty results. (#3254, #3256, #3274)
Caret lifecycle and navigation: programmatic updates no longer start permanent blink/repaint loops on unfocused inputs; blur clears stale blink state so refocusing restores a blinking caret. Editing scrolls directly to a distant caret rather than animating through the whole document. (#3139, #3140, #3150)
Web clipboard paste: Input context menus offer Paste whenever the input is editable, and fall back to asynchronous clipboard reading when synchronous reading is unavailable. The paste request starts from the user action and rechecks editability when it resolves. (#3244)
Editor performance and Unicode safety: reduce diagnostic/definition-hover repaints, debounce transient hover requests, avoid inactive search rescans and query only visible search highlights. Syntax classification reuses Rope-backed parse results and injection trees. Tree-sitter receives bytes, preventing aborts when a read begins inside a multibyte character. (#3260, #3263, #3238)
Input context menus: documentation now makes clear that
InputState::context_menu(false)disables the entire right-click menu, including a custom Input/Textarea/Editor menu. Keep the state menu enabled when supplying a custom builder; the builder replaces the built-in items. (#3275)Markdown and text rendering
Source-aware selection:
TextViewState::selected_source_range()returns the original Markdown byte range for the actual rendered selection, distinguishing repeated occurrences instead of guessing from selected text. (#3136)Search highlights and reveal: search
TextViewState::rendered_text()and applyRangeHighlightvalues withset_range_highlights;clear_range_highlightsremoves them. Ranges refer to UTF-8 bytes in rendered copy text, so searches can cross Markdown formatting. Highlights preserve layout, selection and copy behavior, and survive unchanged content and append-only streaming.reveal_rangemakes the starting line visible in a scrollable TextView or an application list;TextView::on_revealsupplies window-space bounds for custom scroll containers. Reveal is best effort, and highlights are currently Markdown-only. (#3215, #3216)Heading refinements: Base
TextViewStyle::with_headingaccepts a level-awareStyleRefinementcallback for typography, spacing, color and borders, layered over built-in heading defaults. Component keeps its existing compatibility heading fields and builders. (#3129)Markdown correctness: preserve ordered-list starting numbers and prose in unclaimed math spans, pair inline HTML tags correctly, and keep lines containing inline code as tall as equivalent plain-text lines. (#3204, #3178, #3240)
Streaming and large documents:
stream_fadestaggers by word and skips oversized chunks, with throttled repaints. Reuse inline layout and paragraph render caches, avoid unnecessary hover/selection work, and remove quadratic source-mapping and table-highlight reconciliation paths. Text selection in a cached dock view stays registered instead of flickering and keeping the window repainting. (#3153, #3226, #3180, #3261, #3247, #3273, #3193)Charts and plot motion
Stable live-series geometry: LineChart and AreaChart support
y_domain(min, max)for a fixed value range andpoint_count(count)for reserved x-axis slots, so arriving data keeps its position. Values outside the fixed domain are clipped. BarChart addsband_countfor the equivalent fixed-band layout. (#3209, #3220)Axes, grids and reference lines: LineChart/AreaChart add
y_axis,y_axis_label_placement,y_tick_count,y_tick_format,x_tick_count,grid_columns,grid_dashed, repeatablereference_lineandy_padding. BarChart addsvalue_axis_label_placement,value_tick_format,band_tick_countandgrid_dashed.AxisLabelPlacement::{Outside, Inside}controls value-label placement.chart.grid/ThemeColor::chart_gridseparate grids from axis borders, with a 60%-opacity border fallback for themes that omit the token. (#3220, #3236)Bar labels and spacing:
label_colorcolors labels per datum,padding_inner/padding_outerexpose band spacing, andmin_lengthkeeps zero or small bars visible. Vertical charts reserve space for labels. BarChart and CandlestickChart exposemax_band_width, retaining their default 30px maximum while Base ScaleBand no longer imposes one. (#3217, #3258)Tooltip customization: LineChart, AreaChart, BarChart, RadarChart and CandlestickChart add
tooltip_title,tooltip_value,tooltip_value_colorandtooltip_content. Multivalue chart callbacks also receive a row index. PieChart and SankeyChart addtooltip_name/tooltip_valueindependently of labels painted on the chart.Tooltip::value_colorcolors the latest row andplain_rowadds totals without a swatch; a bar tooltip swatch follows the bar color. (#3228, #3176)Interaction and motion: chart IDs default to their construction site so hover works without an explicit ID; provide distinct IDs when multiple charts share a construction site.
interactive(false)removes hitboxes, hover emphasis, tooltips and path caches for placeholders or covered charts. Tooltip glides its own crosshair/dots and grows dot halos with hover progress;Tooltip::glide(false)disables that spring. Custom plots can usePlotHover::glideand the Base hover-motion helpers. (#3173, #3176, #3222, #3258)Painting performance: LineChart and AreaChart use index-based point placement to avoid quadratic value lookups and correctly position duplicate x values at their own indices. Candlestick wicks avoid per-candle path tessellation, and chart hover/painting avoids redundant work. (#3262)
Dock and resizing
Nested docks and tab closing: moving a panel from a dock that does not own it no longer creates duplicate or ghost tabs.
DockSkin::set_close_button_visibleenables built-in close buttons, hidden by default;TabGroupContext::is_panel_closablerespects both dock and panel constraints. Custom tab renderers retain control over presentation and frame geometry. (#3197)Continuous bottom-dock resizing: drag a collapsible bottom dock below its minimum, through the closed strip and back open in one motion. Release snaps to the nearer closed or minimum-open state; transient sizes below the minimum are not persisted. Custom resize drivers finish with
DockContext::end_resize. (#3229)Resize indicators: dividers grow their indicator as the pointer engages, hugging handles paint their hairline on the seam, and dock hairlines no longer draw over popovers. (#3175, #3200, #3221)
Theme synchronization
Theme::update(cx, |theme| ...)edits the global theme, reconciles solid colors and gradient tokens, updates the Base projection, resolves changed fonts and refreshes all windows. Use it for palette, mode, typography and other theme edits instead of manually synchronizing each representation.Theme::global_mutandTheme::sync_baseremain available for callers that manage synchronization themselves. (#3122)Components and accessibility
Popover trigger styling:
Popover::trigger_stylenow applies to the actual trigger container, so width/flex refinements affect both parent layout and popup anchoring. Base Popover implements Styled; DropdownMenu keeps Button styling on the Button instead of applying it twice. (#3245)Attachment: composer attachments include
on_remove,on_retry,progress(percent)andtooltip; interactive controls and tooltips requireid. Progress is 0–100 and clamped. Media receives correctly rounded corners and upload/failure treatments, including retry when a failed image has no source.AttachmentGroup::track_scrolllets the application drive scrolling andwith_edge_fadesignals clipped attachments. Default chip geometry and failure styling change to the composer presentation. (#3195, #3233)Settings and GroupBox:
GroupBox::footer/SettingGroup::footerplace supporting content outside the group surface.SettingGroup::variantoverrides theSettings::with_group_variantdefault for one group;GroupBoxVariant::Normalpresents items without a card surface. Selecting a group on another settings page now scrolls to the intended group. (#3133, #3203, #3219)Table:
TableSelection::{None, Row, Column, Cell}withTableState::selection/set_selectionmodels the active selection as one value. Positional getters return only the active selection type; stale row appearance and accessibility selection state are corrected. Filler rows and cell rendering avoid redundant work. (#3143, #3264)Popover:
offsetsets the trigger gap andarrow(true)adds an arrow for all eight anchors. Horizontal-center anchor placement is corrected. Popover/AppMenu triggers use the new defaultSelectable::open/is_openmethods to distinguish an open popup from application selection; existing Selectable implementations retain the default compatibility behavior. (#3145, #3125)Dialog:
button_propsmerges explicitly supplied fields, preserving existing Cancel visibility and callbacks. AlertDialog addsok_text,ok_variant,cancel_textandcancel_variant. Oversized dialogs reclaim the upper window space while normal and stacked dialogs retain their preferred placement. (#3126, #3188)Select: closing an open menu emits
DismissEvent, including after Confirm; the popup aligns with the trigger at the right edge. Long option labels truncate with an ellipsis while keeping the checkmark visible. Custom full-row renderers receive a shrinkable container and should apply text truncation themselves. (#3144, #3218, #3280)Menus: context-menu actions fire once on the row actually pressed even when rows share a construction site. PopupMenu, DropdownMenu and Popover release their entities and subscriptions when their host disappears, preventing leaks and stale popup registrations from suppressing later Input context menus. (#3135, #3224, #3267, #3279)
Switch: the track shows a keyboard focus ring, with
focus_ring(false),tab_stopandtab_indexcontrols. Long labels no longer shrink the track. (#3120, #3154)Sidebar and List: SidebarMenuItem exposes its visible label, TreeItem role and selected state to assistive technology. SidebarMenuItem, ListItem and SidebarToggleButton accept
accessibility_label. The focused ListState container carries the List role, and a right-clicked list item retains its outline. (#3160, #3249, #3155)Chat composition:
Marker::alignment(MarkerAlignment::{Start, Center, End})controls row and wrapped-text alignment across variants.Message::id/roleprovide stable accessibility identity; Message content inherits caller/bubble typography. Ghost Bubble children are no longer clipped. (#3151, #3171, #3172)Form: caller styling such as padding, gaps and background takes effect, and
Field::visible(false)actually hides fields without leaving empty grid rows. Hidden fields are not built or laid out. (#3248, #3269)Performance and resource use
Command: unchanged command models retain their measured rows and search results across parent rerenders, while new callbacks and selection updates still apply. Models with custom child closures or changed layout continue to remeasure. (#3268)
Tree and SearchableVec: visible tree rows avoid deep subtree clones and defer context-menu entry cloning until the menu opens. SearchableVec filters by indices instead of cloning matching items or entire groups, evaluating each match once. (#3265, #3279)
Carousel and Rating: ancestor scrolling no longer rebuilds Carousel geometry or interrupts a running snap animation. Rating repaints on real hover-value changes rather than every pointer movement. (#3266, #3270)
Pagination, ColorPicker, Accordion and Notification: ellipsis menus show at most the 100 hidden pages nearest the current page; closed ColorPicker popups defer their bodies; Accordion content unmounts after the closing spring settles; persistent notifications stop lifecycle ticking once transitions finish. See the Accordion state-lifetime note below. (#3279)
Shell, runtime and platform
GPUI snapshot: Kit now pins the complete
gpui-pre-*snapshot family to=0.3.7, including the newly published bench-metrics package. All 25 snapshot packages resolve together; the independentgpui-pre-reqwestfork remains at 0.12.15. (#3283)Shell inline tokens and TimeField: JavaScript InputState/TextareaState mirror token insertion, draft content, token slots and token click callbacks. JavaScript ranges use UTF-16 offsets, while Rust uses UTF-8 bytes; validation failures expose
error.code. Shell also exposes TimeField state/elements. Host integration adds optional retained-state methods viaStateMethodDescriptor/StateDescriptor::with_methodsand frame-owned interactive token subtrees. (#3113, #3206)Script image policy: HTML/Markdown TextView document images obey the creating script's HTTP GET capabilities, including intrinsic-size measurement and every redirect. Loading is asynchronous, view-owned and canceled on disposal, with timeout/body/redirect limits and no HTTPS downgrade. Non-HTTP(S) document images, including data URLs, are refused; the application-asset
image(path)API is unchanged. Base adds a narrow document-image source override for embedders. (#3230)Base controls: Base Dialog centers a normal-flow popup by default and blocks popup presses from reaching its backdrop; Base AlertDialog implements Styled. Base single-line Input vertically centers its text within its frame, while multiline layout is unchanged. These defaults do not alter styled Component Dialog/Input placement. (#3277, #3278)
Web and touch: Base WASM examples bundle IBM Plex Sans so
.SystemUIFontresolves and canvases render. Centered notification stacks work reliably on the web. A short touch drag that catches an active ScrollBounce no longer produces a reverse fling; intentional longer flings and edge bounce are preserved. (#3235, #3149, #3207)Documentation and website
Versioned documentation: the latest release is served at
/, development docs at/versions/main, and release snapshots at/versions/<tag>. Snapshot isolation and version-local links prevent newer pages or navigation from leaking into older docs; shared WASM examples load from the site root, and historical versions without component pages still build. (#3159, #3189, #3243, #3165, #3196)Framework manual: expanded bilingual guides cover Entity, Window, Context, Render, RenderOnce, Element, Action/Event, ownership, focus, tasks, painting, text, accessibility, animation and WebAssembly, with runnable exercises and troubleshooting. New Packaging, Auto Update and Images guides cover distribution, user-level Linux installation, embedded assets,
img,svgand HTTP caching. Menu-bar guidance documents binding keys beforeset_menus, and focus guidance explains explicit Tab stops. (#3179, #3181, #3225, #3232, #3239, #3124)Website themes and navigation: the theme palette reads theme JSON directly, previews and confirms with keyboard navigation, restores on cancel, and synchronizes the chosen JSON with embedded WASM examples.
Cmd+K/Ctrl+Kopens theme selection;/opens docs search. Text selection usesselection.background, falling back toprimary.background, and active sidebar entries are easier to identify. Custom website themes and design-guide illustrations are refined. (#3198, #3241, #3242, #3237, #3211, #3212)Documentation licensing: eligible documentation prose and original illustrations carry CC BY 4.0 attribution; software and code examples retain Apache-2.0 permissions. (#3225)
Breaking Changes
Custom Plot primitives
Component plot import paths remain re-exported, but custom plots must migrate primitive APIs.
StrokeStyle/stroke_styleare removed in favor ofCurve/curve; scale ranges become arrays, domains accept iterators, andPlotValuereplaces the hidden Sealed bound.least_indexbecomesnearest_index;least_index_with_domainis removed. Arc paints/contains use the radii configured on the Arc, and Grid x/y accept iterators. ScaleBand has no implicit 30px cap: setmax_band_widthif needed.TooltipState,AxisText,label::Text,ArcData,StackPoint,StackSeries,SankeyLink,SankeyNodeLayout,SankeyLinkLayoutandSankeyGraphare non-exhaustive and should use their constructors.PlotAxis::default()now equalsnew()with its x-axis line visible. IntoPlot derives usePlotElement<Self>rather than implementing Element directly; the hiddenplot::tooltip::track_hoveris removed. Base Theme struct literals needplot. Deprecated aliases remain this release forAXIS_GAP,dot_fill_color,dot_stroke_color,PlotHover::focusandTooltip::focus; preferaxis_gutter,dot_fill,dot_strokeandprogress. Existing chart curve builders remain unchanged. (#3258)gpui_base::Theme { appearance, tokens, scrollbar, resizable, + plot: gpui_base::PlotTheme::default(), }DatePicker event values
DatePickerEvent::Changenow carriesDateTime, notDate. Date-only consumers can usevalue.date();formatkeeps its signature. Exhaustive matches onDateRangePresetValuemust handle the new DateTime variant. (#3206)cx.subscribe(&picker, |this, _, event, _| match event { - DatePickerEvent::Change(date) => match date { + DatePickerEvent::Change(value) => match value.date() { Date::Single(Some(date)) => { /* … */ } _ => {} }, });Base heading styling
Base
TextViewStyleremoveswith_heading_base_font_size,heading_base_font_size,with_heading_font_sizeandheading_font_size. Usewith_heading/headingand a StyleRefinement callback. The Component compatibility facade retains its old fields and builders. (#3129)Table selection getters
Each positional getter reports only its active selection type. To obtain the row of a selected cell, map
selected_cell()or matchselection(); keep inactive-selection history in the application if required. (#3143)BarChart tick counts
value_tick_count(n)now means n ticks, not n intervals. Add one to an explicit old count to preserve its appearance. The default changes from four intervals to five ticks, preserving the default chart layout. (#3209)Custom tooltip motion
Tooltip now springs its own crosshair/dots. Remove a custom spring or use
Tooltip::glide(false)to avoid applying motion twice. Pass full Dot halo sizes; Tooltip applies hover progress itself. (#3222)Shell document image permissions
Script TextView signatures are unchanged, but remote document images now need explicit GET grants for their URL and every redirect target. Non-HTTP(S) sources, including data URLs, are refused;
image(path)application assets are unaffected. (#3230)Select dismissal ordering
Existing DismissEvent subscribers now run when an open menu closes. Confirm emits SelectEvent::Confirm followed by DismissEvent; opening or closing an already-closed menu does not dismiss. (#3144)
Popover horizontal-center anchors
LeftCenter places the popup to the right of the trigger; RightCenter places it to the left, both vertically centered. These no longer fall back to top-left positioning. Top/bottom anchors keep their default placement and do not flip when clamped. (#3145)
Individually disabled Accordion items
An item marked disabled stays disabled instead of being accidentally enabled by its parent. Explicitly enable it if expansion is intended; builder signatures are unchanged. (#3141)
Accordion::new("settings").item(|item| item.title("Advanced").disabled(true)) -// Clicking Advanced can expand it. +// Clicking Advanced leaves it closed.Message typography inheritance
Message no longer imposes text_sm and a 1.25 line height on its subtree. Header/footer typography remains local; bare MessageContent inherits the surrounding style, so explicitly style content that depended on the previous row defaults. (#3171)
Base Dialog placement and pointer occlusion
Normal-flow Base popups center by default; style the host to recover top-left placement. Popup presses no longer reach the backdrop, so size popup parts to their content instead of using a full-window popup wrapper. Styled Component Dialog positioning is unchanged. (#3277)
Base single-line Input alignment
A Base single-line input fills its frame and vertically centers its line. If a tall frame relied on top placement, use a one-line-height frame for the previous appearance. Multiline and styled Component input layout is unchanged. (#3278)
Accordion content lifetime and pagination limits
Closed Accordion content unmounts after its close spring settles, dropping element/keyed state held inside the panel. Preserve durable state in entities. Under reduced motion this optimization keeps content mounted. Pagination ellipsis menus cap hidden-page choices at the nearest 100; use successive menus to reach farther pages. (#3279)
Form visibility and attachment presentation
Field::visible(false)now hides the field instead of being ignored. Attachment has new default chip sizing, radius, status overlays and failure colors; review applications that depended on its former content-sized geometry. (#3269, #3195)Chart labels and duplicate x values
LineChart/AreaChart position duplicate x values at their individual indices, matching hover. Vertical BarChart with labels reserves slightly more top space (bars draw 2px shorter); PieChart tooltip labels are configured separately from leader-line labels. (#3262, #3217, #3176)
Thank you to everyone who contributed code, documentation, testing, and feedback!
What's Changed
Theme::updateto keep colors, tokens and the Base projection in step by @huacnlee in #3122button_propsinstead of replacing them by @huacnlee in #3126TableSelectionvalue by @violetpurpleish in #3143alignmentfor centered and trailing rows by @madcodelife in #3151stream_fadeby word, dropping it for oversized chunks by @madcodelife in #3153TextViewState::selected_source_rangeby @tidely in #3136idandrole, stop setting the row's typography by @madcodelife in #3171Ghostbubble by @madcodelife in #3172value_tick_countby @IHadACookie in #3209Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.