v0.6.1
GPUI Kit v0.6.1 brings multi-cursor editing, automatic bracket pairing, smart indentation, and headless UI testing. This release also improves Markdown rendering, text selection, accessibility, and everyday component behavior.
- Multi-cursor editing with Alt-click to add cursors and Shift-Alt-drag for column selection. Column selections now preserve their width across short lines. (#2837, #2987)
- Automatic bracket pairing and smart indentation on Enter, with configurable language rules and independent
auto_closeandsmart_indentpreferences. (#3018) - Improved search behavior: reopening search restores focus, preserves the active match, and reveals matches after manual scrolling. (#2932, #2953, #2955)
- Fixed cursor movement across CRLF boundaries and pending syntax highlighting when switching languages. (#2986, #2994)
- Fixed selection drag-autoscroll in virtualized lists and ensured scrolling stops when the selection gesture ends. (#2948, #2941)
- Reduced unnecessary updates when scroll and paint state remain unchanged. (#2988)
Applications can now test interactions and layout through gpui_kit::test, enabled by the test-support feature. The testing API supports scoped queries, native input events, state snapshots, and waiting for deferred updates.
This release also expands integration coverage across core controls, menus, dialogs, tables, and dock layouts, with separate Metal rendering checks on macOS. (#3005, #3019)
- Added opt-in YAML frontmatter rendering through
MarkdownExtensions::frontmatter()andFrontmatterPlugin. Supported mappings render as structured metadata; unsupported content falls back to a YAML code block. (#2850) - Corrected hard and soft line-break rendering. (#2945, #2947)
- Improved inline code styling with rounded backgrounds and a monospace font. (#2949)
- Fixed stale measurements when replacing a document with another containing the same number of blocks. (#2946)
- Button: added preferred tooltip placement and restored the selected background for ghost buttons. (#2971, #2938)
- Select: exposed committed values, improved accessible activation, and made
on_dismissrun consistently regardless of how the popup closes. (#2973, #2984) - Sidebar: added
Styledsupport andlabel_styletoSidebarMenuItem. (#2957) - Icons: added SVG byte support in component icon slots and shared Lucide icon names while preserving default icons. (#2980, #3020)
- Fixed panel resizing flicker and list measurement when the configured measurement row is absent. (#2907, #2975)
- Improved accessibility for dialog close buttons and calendar items. (#2969, #2996)
- Added fallback to an installed monospace font when the default is unavailable. (#3009)
- Improved GPUI Shell application compatibility and exposed
listanduniform_listto scripts. (#2939, #2952) - Refined FPS reporting using frame cost and the display's refresh rate, with sustained frames enabled by default. (#2944, #2954, #2956)
- Restricted Windows native-menu
uxthemeloading to System32. (#2974) - Updated Tree-sitter and removed the previous workaround. (#2990)
The documentation website now uses Astro, with improved App Stories browsing and preserved sidebar scroll position. Component API documentation is separated from shared Kit guides, with expanded coverage of fonts, editor search, UI testing, and AI-assisted development.
Thank you to everyone who contributed code, documentation, testing, and feedback!
- website: Bundle IBM Plex Sans so
.SystemUIFontresolves on the web by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2933 - gpui-pre: Audit licenses before publishing and state GPUI's origin by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2936
- chore: Let the doctests written for gpui-kit users compile by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2937
- website: Add a release notes page and keep page titles off the toolbar by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2935
- button: Select a ghost button with
secondary_activeagain by @madcodelife in https://github.com/longbridge/gpui-kit/pull/2938 - shell: Improve application compatibility by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2939
- chroe: Drop the unused reqwest_client dependency by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2940
- base: Stop auto scroll once the text selection gesture has ended by @madcodelife in https://github.com/longbridge/gpui-kit/pull/2941
- skills: Quote gpui-kit skill description by @prabirshrestha in https://github.com/longbridge/gpui-kit/pull/2943
- fps: Sustain frames by default, and stop grading the rate by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2944
- website: migrate from VitePress to Astro by @endless-bot in https://github.com/longbridge/gpui-kit/pull/2926
- story: Draw the chart gallery through a virtual list by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2950
- markdown: render hard line breaks instead of concatenating lines by @kossoy in https://github.com/longbridge/gpui-kit/pull/2945
- editor: Refocus the search bar when search is invoked again by @hlcfan in https://github.com/longbridge/gpui-kit/pull/2932
- markdown: reflow soft line breaks instead of rendering them as hard breaks by @kossoy in https://github.com/longbridge/gpui-kit/pull/2947
- text: remeasure list items when a document is replaced with an equal block count by @kossoy in https://github.com/longbridge/gpui-kit/pull/2946
- website: Add five apps to the app stories page by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2951
- resizable: Fix panel resizing flickering by @hlcfan in https://github.com/longbridge/gpui-kit/pull/2907
- shell: Expose GPUI's list and uniform_list to scripts by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2952
- fps: Derive the headline rate from frame cost instead of driving the frame loop by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2954
- fps: Cap the headline by asking the platform what the panel runs at by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2956
- sidebar: make SidebarMenuItem implement Styled and add label_style by @ItsCacia in https://github.com/longbridge/gpui-kit/pull/2957
- website: Fix Showcase lockfile installation in docs releases by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2958
- website: Refine App Stories layout and browsing by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2960
- website: Remove two Vue components orphaned by the Astro migration by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2965
- editor: Reveal search match after manual scroll by @hlcfan in https://github.com/longbridge/gpui-kit/pull/2955
- chore: Forward platform test support and profiling by @grishy in https://github.com/longbridge/gpui-kit/pull/2966
- base: move the native examples into their own package by @Tryanks in https://github.com/longbridge/gpui-kit/pull/2963
- editor: Preserve active search match on panel open by @hlcfan in https://github.com/longbridge/gpui-kit/pull/2953
- dialog: make the close button accessible by @grishy in https://github.com/longbridge/gpui-kit/pull/2969
- button: expose preferred tooltip placement by @grishy in https://github.com/longbridge/gpui-kit/pull/2971
- docs: welcome AI-assisted contributions by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2981
- ci: enable weekly gpui-pre releases by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2982
- native_menu: Constrain uxtheme loading to System32 by @lurenjia534 in https://github.com/longbridge/gpui-kit/pull/2974
- select: expose committed values and accessible activation by @grishy in https://github.com/longbridge/gpui-kit/pull/2973
- list: measure an existing row when the configured item is absent by @grishy in https://github.com/longbridge/gpui-kit/pull/2975
- story: replace List search results without duplicating rows by @grishy in https://github.com/longbridge/gpui-kit/pull/2976
- icon: Support SVG bytes in component icon slots by @suxiaoshao in https://github.com/longbridge/gpui-kit/pull/2980
- select: run on_dismiss however the popup closes by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2984
- chore: isolate story examples from test-support by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2985
- input: Multi cursors by @zanmato in https://github.com/longbridge/gpui-kit/pull/2837
- input: Keep column selection width over short rows by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2987
- input: preserve CRLF cursor boundaries and document shortcuts by @kossoy in https://github.com/longbridge/gpui-kit/pull/2986
- chore: Fix the CI metadata parse and skip unchanged snapshots by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2992
- fix(base): name calendar items for accessibility by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2996
- chore: improve component conventions for AI-assisted development by @huacnlee in https://github.com/longbridge/gpui-kit/pull/2993
- highlighter: Update tree-sitter to remove workaround by @zanmato in https://github.com/longbridge/gpui-kit/pull/2990
- input: trigger pending re-highlight when switching editor language by @Muhammad-Owais-Warsi in https://github.com/longbridge/gpui-kit/pull/2994
- input: Avoid notifying unchanged scroll and paint state by @jlucaso1 in https://github.com/longbridge/gpui-kit/pull/2988
- docs: document editor search panel and searchable API by @Muhammad-Owais-Warsi in https://github.com/longbridge/gpui-kit/pull/3002
- chore: Expand CONTRIBUTING.md with GPUI and GPUI Kit details by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3004
- docs: separate Component API docs from shared Kit guides by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3006
- theme: Fall back to an installed monospace font when the default is missing by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3009
- docs: document fonts - system, theme, custom bundling, and WASM by @Muhammad-Owais-Warsi in https://github.com/longbridge/gpui-kit/pull/3010
- kit: Add headless UI testing to gpui-kit by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3005
- docs: migrate root/theme/dock from docs to component section by @endless-bot in https://github.com/longbridge/gpui-kit/pull/3014
- website: Preserve docs sidebar scroll position across navigation by @loosheng in https://github.com/longbridge/gpui-kit/pull/3007
- kit: expand core UI integration coverage by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3019
- markdown: Add Frontmatter plugin as structured metadata by @BeratHundurel in https://github.com/longbridge/gpui-kit/pull/2850
- assets: share Lucide icon names and preserve default icons by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3020
- text_view: Improve inline code render with rounded style and mono font by @kossoy in https://github.com/longbridge/gpui-kit/pull/2949
- text_selection: drag-autoscroll never moved a virtualized list by @kossoy in https://github.com/longbridge/gpui-kit/pull/2948
- editor: auto-close brackets and smart indent on Enter by @Muhammad-Owais-Warsi in https://github.com/longbridge/gpui-kit/pull/3018
- @prabirshrestha made their first contribution in https://github.com/longbridge/gpui-kit/pull/2943
- @endless-bot made their first contribution in https://github.com/longbridge/gpui-kit/pull/2926
- @kossoy made their first contribution in https://github.com/longbridge/gpui-kit/pull/2945
- @grishy made their first contribution in https://github.com/longbridge/gpui-kit/pull/2966
- @Tryanks made their first contribution in https://github.com/longbridge/gpui-kit/pull/2963
- @Muhammad-Owais-Warsi made their first contribution in https://github.com/longbridge/gpui-kit/pull/2994
- @loosheng made their first contribution in https://github.com/longbridge/gpui-kit/pull/3007
Full Changelog: https://github.com/longbridge/gpui-kit/compare/v0.6.0...v0.6.1
v0.6.0
v0.6.0 is a major expansion of the project since v0.5.0. The project is now GPUI Kit: a layered toolkit for building desktop applications with GPUI. This release introduces an unstyled foundation crate, a single-dependency facade, a scriptable application runtime, a substantially expanded component set, richer text editing and rendering, motion, accessibility, and new developer tooling.
This release note focuses on user-visible additions, improvements, API changes, and deprecations. It intentionally omits fixes made while the new v0.6.0 features were being developed.
The repository and ecosystem are now named GPUI Kit, and the documentation has moved to gpui-kit.com. GPUI Component remains the styled component layer within the toolkit. (#2927)
The new architecture separates reusable behavior from presentation:
gpui-kitis the recommended facade for applications. It re-exports GPUI and the enabled Kit layers, providesapplication(),init(), and anactions!macro, and keeps matching GPUI dependencies together.gpui-baseprovides unstyled behavior, state, interaction, and infrastructure primitives. It includes text editing and rich text, selection, dock layout, virtual lists, dialogs, popovers, controls, motion, history, and navigation foundations.gpui-componentremains the complete styled UI system and builds ongpui-base.gpui-shellis a new scriptable application runtime that lets a Rust host expose GPUI capabilities to JavaScript. (#2821)gpui-fpsadds a real-time FPS and resource HUD, including CPU, memory, GPU, and frame-tail reporting. (#2704)gpui-wryis now the standalone WebView integration crate.
Applications may continue depending directly on gpui-component, or adopt the new facade:
[dependencies]
gpui-kit = "0.6"
use gpui_kit::*;
use gpui_kit::component::Root;
fn main() {
gpui_kit::application().run(|cx| {
gpui_kit::init(cx);
// Open windows and build the application here.
});
}
The styled component library has grown well beyond the v0.5.0 surface:
- Application structure:
Commandpalette,NativeMenu,StatusBar,Pagination,Stepper,HoverCard,AlertDialog,FocusTrap, and a redesigned declarativeDialogAPI. - Data entry and display:
Combobox,Rating,ProgressCircle, a new lightweight declarativeTable, and multi-row headers, cell selection, custom row heights, resizing constraints, and batched export forDataTable. - Communication UI: composable
Message,MessageScroller,Bubble,Attachment, andMarkercomponents for chat and assistant-style interfaces. (#2832) - Loading and feedback:
Shimmer, animated progress states, configurable notification placement and width, dismiss callbacks, and optional OS notification-center delivery. - Navigation:
NavStackprovides browser-style push, back, and forward navigation with animated transitions. (#2922)
Existing controls received broader composition and interaction APIs, including context menus for sidebar and tree items, async submenus, collapsible sidebar modes, animated tabs and tooltips, programmatic resizable panels, reverse sliders, configurable calendar week starts, accessible labels and control IDs, and drag-and-drop support for list items.
Text editing is now split into purpose-built controls:
Input/InputStatefor single-line text, masks, validation, and number entry.Textarea/TextareaStatefor multiline text, rows, soft wrapping, auto-grow, and chat-style submit behavior.Editor/EditorStatefor code editing, highlighting, line numbers, folding, decorations, diagnostics, search, replacement, and LSP integration. (#2691)
The editor adds transaction-based undo, code folding, inline completions, semantic tokens, document colors, configurable wrapping indent, selection APIs, readonly mode, replace/replace-all actions, and broader syntax highlighting. Tree-sitter language support is now split into per-language Cargo features, so applications can select only the grammars they need.
TextView now lives in gpui-base, with the existing gpui_component::text API retained as a compatibility facade. Rich text gains incremental Markdown parsing, inline and local images, Markdown extensions/plugins, math blocks, table actions and horizontal scrolling, source-preserving copy, link-click handling, multi-click selection, drag auto-scroll, and max_lines. A new SelectableText element participates in window-level selection without requiring a rich-text document. (#2881)
Window-level TextSelection can combine selection across multiple TextView and SelectableText regions, enabling document-like selection and copying across independently rendered elements.
Docking now has a reusable pure-data layout foundation in gpui-base. It supports serializable tiles, tab groups, split resizing, drag/drop placement reporting, undo/redo, animated drop placeholders, snapping neighboring panel edges, and LayoutChanged events. This makes dock layout state usable independently of the styled dock UI.
Scrolling behavior has been revised for better interoperability between nested scroll containers. Highlights include explicit Scrollable identity, axis locking for trackpad gestures, improved scrollbar visibility transitions, responsive Markdown tables, and width-aware virtual-list measurement.
gpui-base::motion introduces a layered animation system with keyframes, timing functions, spring motion, presence transitions, staggered animation, reveal helpers, and interpolation. Components now use spring transitions where targets can change during an active animation. (#2866)
The theme system adds gradient backgrounds, global radius consistency, configurable focus rings, selection and Markdown-table semantic colors, custom primary-button and switch colors, and improved dark-mode syntax highlighting. Form controls, popovers, tabs, sliders, and scrollbars have been visually refined for clearer interaction states.
Charts gain:
SankeyChartandRadarChart.- Candlestick charts.
- Interactive hover tooltips.
- Negative bar values and a value axis.
- Arbitrary fills such as gradients, per-bar corner radii, grid and x-axis options.
- Pie-chart leader-line labels and Radar-chart element labels.
- More efficient Sankey topology and deduplicated, value-indexed band scales.
Accessibility information is now exposed across the component set, including roles, labels, values, toggle state, and stable control IDs. Buttons and checkboxes support role overrides and presentational roles, while editable controls expose their values to accessibility clients.
Native integration expands with OS-native application and context menus, menu item images, improved Linux client-side decorations, window-manager-aware title-bar controls, notification-center bridging, and an owned raw Wry WebView handle.
- Large editor documents now use a SumTree-based wrapping cache, incremental foreground parsing, bounded syntax injections, and cheaper rewrapping and outdent paths.
- Large
TextViewreplacements are parsed off the UI thread, while Markdown blocks are shared instead of cloned each frame. - Dock, input, notification, color-picker, chart tooltip, and shell rendering paths avoid redundant work and unnecessary rerenders.
- The new
gpui-fpsHUD reports presented frames and process resource use for profiling live applications. - The documentation site now includes English and Chinese references for GPUI Base, GPUI Shell, the component library, design guidance, coding guidance, and runnable examples.
- A distributable GPUI Kit skill bundles the design and coding guides for coding agents.
InputState is now single-line only. Migrate multiline inputs to TextareaState and code editors to EditorState:
- use gpui_component::input::{Input, InputState};
+ use gpui_component::input::{Textarea, TextareaState};
- InputState::new(window, cx).multi_line(true).auto_grow(3, 8)
+ TextareaState::new(window, cx).auto_grow(3, 8)
- InputState::new(window, cx).code_editor("rust")
- Input::new(&state)
+ EditorState::new("rust", window, cx)
+ Editor::new(&state)
Input-only adornments such as prefix, suffix, the mask toggle, and the clear button are not properties of Textarea or Editor; compose those actions around the control instead.
The former stateful Table is now DataTable. Table names the new declarative table element. (#2075)
- use gpui_component::table::Table;
+ use gpui_component::table::DataTable;
The selector-column option was renamed from row_selector to row_header. (#2366)
The module, types, and DescriptionList method were renamed. (#2335)
- gpui_component::divider::Divider
+ gpui_component::separator::Separator
- DescriptionList::divider()
+ DescriptionList::separator()
ListDelegate::is_eof and TableDelegate::is_eof were renamed to has_more, with the semantics made explicit and the default set to false. (#1757)
The gpui-component webview feature was removed. Depend on the standalone gpui-wry crate instead. (#1759)
The former undo-oriented History<T: HistoryItem> API and HistoryItem trait were removed. Use:
History<T>for browser-style navigation with back/forward semantics.UndoHistory<T>for grouped undo/redo transactions. (#2923)
Dock persistence keeps the v0.5.0 JSON shape, but the Rust construction and extension APIs changed as the dock was split into an unstyled data/behavior layer and a styled renderer. (#2772)
DockItemwas replaced by the pure-dataDockLayoutbuilder.- Styled applications should wrap panels with
panel_handleand use thepanel_view,tile_view,add_panel_view, andadd_tile_viewentry points. - The old
Paneltrait is split betweengpui_base::dock::Panelfor behavior andgpui_component::dock::Panelfor presentation. - The entity formerly named
TabPanelis nowgpui_base::dock::TabGroup; styledTabPanelis a renderer. - The tiles entity is now
TilesState;Tilesis its renderer. StackPaneland the publicDockentity were removed. Manage layouts throughDockAreaandDockPlacement.- Placement-specific accessors such as
left_dock()and setters such asset_left_dock()were replaced bylayout(placement),set_dock,set_dock_size,is_dock_open, andremove_dock. DockEvent::DragDrop(item)is nowDockEvent::DragDrop { item, target }, exposing where a host drag item landed. (#2661)
Dialog::new(window, cx)is nowDialog::new(cx). The declarative dialog API usestrigger,content,DialogHeader,DialogTitle,DialogDescription, andDialogFooter. (#2067)- Low-level chart tooltip construction now uses
Tooltip::new(cursor, bounds);Tooltip::position()andTooltipPositionwere removed.TooltipState::newno longer takes a position argument, andCrossLineis dashed by default. (#2500)
popover_stylemoved from theStyledExttrait toThemeStyled. (#2726)ScaleBandcategorical domains now requireEq + Hashrather thanPartialEq; the bound also applies to the band type used byBarChartandCandlestickChart. (#2885)- Boolean readers were normalized:
can_go_to_definition()is nowhas_definition(), while dock readers such ascan_zoom()andcan_close()are nowis_zoomable()andis_closable(). (#2810) - The default wrapping indent for multiline editors is now
WrappingIndent::Same. Editornow defaults to the theme's monospace font and derives row height from its configured font size. Explicit.font_family()and.text_size()overrides still take precedence. (#2794)
Several public context and snapshot structs now have private fields so they can evolve compatibly. Replace struct literals and direct field reads with their constructors, builders, and accessors. (#2706)
Affected APIs include:
InputContextMenuCapabilitiesInputPresentationCalendarItemStateComboboxTriggerCtx, renamed toComboboxTriggerContextsetting::RenderOptions
For example:
- capabilities.disabled
- capabilities.selection
+ capabilities.is_disabled()
+ capabilities.has_selection()
- CalendarItemState { kind, active, .. }
+ CalendarItemState::new(kind).active(active)
- The workspace now targets the
gpui-pre0.3.x family rather than GPUI 0.2.x, bringing the corresponding upstream GPUI API changes. - The assets package is now
gpui-kit-assets(Rust pathgpui_kit_assets) instead ofgpui-component-assets. - The project uses Rust edition 2024.
animation::Transitionis retained as a deprecated alias; useanimation::EffectTransition. This is distinct from the newmotion::Transitiontiming policy.EasingError::InvalidBezierXis retained for source compatibility; useEasingError::InvalidBezierControlPoint.AlertDialog::overlay_closableis deprecated because alert dialogs intentionally cannot be dismissed by pressing the backdrop.Root::clear_text_selectionand the window text-selection extension methodsselected_text,has_text_selection,clear_text_selection, andend_text_selectionare deprecated; use the correspondinggpui_base::TextSelectionAPIs.SearchableListDelegate::sectionis deprecated; implementrender_section_headerto receiveWindowandAppaccess.
@zanmato @FlyingYu-Z @duanebester @stayhydated @CherryWorm @Moulberry @stippi
And thanks to all our first-time contributors:
- @orbisai0security made their first contribution in https://github.com/longbridge/gpui-kit/pull/1678
- @amiyzku made their first contribution in https://github.com/longbridge/gpui-kit/pull/1749
- @18o made their first contribution in https://github.com/longbridge/gpui-kit/pull/1753
- @TajangSec made their first contribution in https://github.com/longbridge/gpui-kit/pull/1772
- @gjfei made their first contribution in https://github.com/longbridge/gpui-kit/pull/1783
- @PleaseDont made their first contribution in https://github.com/longbridge/gpui-kit/pull/1797
- @vdualb made their first contribution in https://github.com/longbridge/gpui-kit/pull/1799
- @Nareshix made their first contribution in https://github.com/longbridge/gpui-kit/pull/1831
- @doubo6sir made their first contribution in https://github.com/longbridge/gpui-kit/pull/1848
- @yoogoc made their first contribution in https://github.com/longbridge/gpui-kit/pull/1871
- @elliottminns made their first contribution in https://github.com/longbridge/gpui-kit/pull/1917
- @fhluo made their first contribution in https://github.com/longbridge/gpui-kit/pull/1949
- @leoliu0605 made their first contribution in https://github.com/longbridge/gpui-kit/pull/1946
- @z-jxy made their first contribution in https://github.com/longbridge/gpui-kit/pull/1984
- @scottcg made their first contribution in https://github.com/longbridge/gpui-kit/pull/1985
- @PRRPCHT made their first contribution in https://github.com/longbridge/gpui-kit/pull/1970
- @Hizome made their first contribution in https://github.com/longbridge/gpui-kit/pull/1916
- @joris-gallot made their first contribution in https://github.com/longbridge/gpui-kit/pull/2041
- @suxiaoshao made their first contribution in https://github.com/longbridge/gpui-kit/pull/2084
- @tristanpoland made their first contribution in https://github.com/longbridge/gpui-kit/pull/2085
- @mengh04 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2096
- @lockedmutex made their first contribution in https://github.com/longbridge/gpui-kit/pull/2052
- @sassman made their first contribution in https://github.com/longbridge/gpui-kit/pull/2093
- @jacobtread made their first contribution in https://github.com/longbridge/gpui-kit/pull/2103
- @RivTian made their first contribution in https://github.com/longbridge/gpui-kit/pull/2104
- @ruri4 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2142
- @niteshbalusu11 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2154
- @KlausUllrich made their first contribution in https://github.com/longbridge/gpui-kit/pull/2144
- @jstnd made their first contribution in https://github.com/longbridge/gpui-kit/pull/2204
- @dunkmann00 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2206
- @xrtxn made their first contribution in https://github.com/longbridge/gpui-kit/pull/2210
- @nihalar made their first contribution in https://github.com/longbridge/gpui-kit/pull/2218
- @boboshan made their first contribution in https://github.com/longbridge/gpui-kit/pull/2230
- @ScottCUSA made their first contribution in https://github.com/longbridge/gpui-kit/pull/2239
- @lizhuangs made their first contribution in https://github.com/longbridge/gpui-kit/pull/2244
- @VOID404 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2212
- @lurenjia534 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2265
- @elcoosp made their first contribution in https://github.com/longbridge/gpui-kit/pull/2274
- @glani made their first contribution in https://github.com/longbridge/gpui-kit/pull/2278
- @BeratHundurel made their first contribution in https://github.com/longbridge/gpui-kit/pull/2286
- @regexident made their first contribution in https://github.com/longbridge/gpui-kit/pull/2310
- @Third-Thing made their first contribution in https://github.com/longbridge/gpui-kit/pull/2321
- @laojianzi made their first contribution in https://github.com/longbridge/gpui-kit/pull/2329
- @hewigovens made their first contribution in https://github.com/longbridge/gpui-kit/pull/2327
- @HuaGu-Dragon made their first contribution in https://github.com/longbridge/gpui-kit/pull/2354
- @Libadoxon made their first contribution in https://github.com/longbridge/gpui-kit/pull/2383
- @gaoyia made their first contribution in https://github.com/longbridge/gpui-kit/pull/2396
- @hlcfan made their first contribution in https://github.com/longbridge/gpui-kit/pull/2417
- @PeterDaveHello made their first contribution in https://github.com/longbridge/gpui-kit/pull/2427
- @mike-marcacci made their first contribution in https://github.com/longbridge/gpui-kit/pull/2414
- @panzhifu made their first contribution in https://github.com/longbridge/gpui-kit/pull/2433
- @jayson-saavylab made their first contribution in https://github.com/longbridge/gpui-kit/pull/2454
- @linyisu made their first contribution in https://github.com/longbridge/gpui-kit/pull/2455
- @Xemorr made their first contribution in https://github.com/longbridge/gpui-kit/pull/2485
- @Vanuan made their first contribution in https://github.com/longbridge/gpui-kit/pull/2504
- @berestadev made their first contribution in https://github.com/longbridge/gpui-kit/pull/2519
- @cyfung1031 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2509
- @gintsgints made their first contribution in https://github.com/longbridge/gpui-kit/pull/2545
- @MSIsunny made their first contribution in https://github.com/longbridge/gpui-kit/pull/2540
- @amos-aios made their first contribution in https://github.com/longbridge/gpui-kit/pull/2554
- @MuNeNiCK made their first contribution in https://github.com/longbridge/gpui-kit/pull/2570
- @sh4den made their first contribution in https://github.com/longbridge/gpui-kit/pull/2574
- @LumenLib made their first contribution in https://github.com/longbridge/gpui-kit/pull/2587
- @nuskey8 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2601
- @Ziqi-Yang made their first contribution in https://github.com/longbridge/gpui-kit/pull/2592
- @wabzqem made their first contribution in https://github.com/longbridge/gpui-kit/pull/2585
- @zzfn made their first contribution in https://github.com/longbridge/gpui-kit/pull/2613
- @railapex made their first contribution in https://github.com/longbridge/gpui-kit/pull/2638
- @bws428 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2641
- @cdbkk made their first contribution in https://github.com/longbridge/gpui-kit/pull/2645
- @ItsCacia made their first contribution in https://github.com/longbridge/gpui-kit/pull/2655
- @sagarkarn made their first contribution in https://github.com/longbridge/gpui-kit/pull/2662
- @narma made their first contribution in https://github.com/longbridge/gpui-kit/pull/2369
- @Camork made their first contribution in https://github.com/longbridge/gpui-kit/pull/2746
- @MohamedAffes0 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2736
- @jarviisha made their first contribution in https://github.com/longbridge/gpui-kit/pull/2775
- @Oluwasetemi made their first contribution in https://github.com/longbridge/gpui-kit/pull/2786
- @Lay523 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2791
- @thedavidweng made their first contribution in https://github.com/longbridge/gpui-kit/pull/2805
- @geoffbeier made their first contribution in https://github.com/longbridge/gpui-kit/pull/2806
- @Butch78 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2823
- @duo made their first contribution in https://github.com/longbridge/gpui-kit/pull/2827
- @setsun made their first contribution in https://github.com/longbridge/gpui-kit/pull/2851
- @jlucaso1 made their first contribution in https://github.com/longbridge/gpui-kit/pull/2884
- @timty made their first contribution in https://github.com/longbridge/gpui-kit/pull/2876
- @emmanuel-defreitas made their first contribution in https://github.com/longbridge/gpui-kit/pull/2872
- @wyhaya made their first contribution in https://github.com/longbridge/gpui-kit/pull/2880
Thank you for helping make GPUI Kit better! ❤️
v0.5.1
- chore: Fix compilation errors on macOS caused by
core-textdependency.
v0.5.0
- color_picker: Add radius on focus border by @madcodelife in #1652
- color_picker: Only change value when it's confirmed by @madcodelife in #1682
- context_menu: Prevent mouse events when menu popped out by @madcodelife in #1750
- divider: Add support for dashed divider by @madcodelife in #1730
- dock: Render title bar based on visible panels by @madcodelife in #1697
- dock: Use
visible_panelsmethod by @madcodelife in #1698 - dock: Refactor Panel trait to has
&mut selfand&mut Context<Self>by @huacnlee in #1716 - dock: Fix title method missed thing in PR #1716 by @huacnlee in #1718
- dock: Improve Panel trait changed
titleto returnimpl IntoElementby @huacnlee in #1719 - dock: Fix tab panel first tab left border overlap issue by @madcodelife in #1734
- dock: Simplify DockItem API by @huacnlee in #1732
- editor: Add InlineCompletion LSP support by @duanebester in #1736
https://github.com/user-attachments/assets/8e437f1e-9792-4417-b070-0a1dd8de6024
- editor: Improve scroll to support position at the edge of the editor on click by @huacnlee in #1672
- editor: Fix cursor direction not resetting after mouseup by @FlyingYu-Z in #1708
- input: Fix scroll to offset to support soft wrap mode by @huacnlee in #1671
- input: Change to input text size to smaller by @huacnlee in #1703
- input: Adjust blink cursor height by @huacnlee in #1704
- input: Add to support CodeEditor as single line mode by @zanmato in #1696
- input: Fix resetting highlighting for single line code editor by @zanmato in #1742
- input: Fix wrong font being used in Input by @zanmato in #1706
- list: Refactor ListDelegate to easy access delegate by @huacnlee in #1713
- list: Fix list item may overflow by @huacnlee in #1726
- menu: Use defer to avoid race conditions with click listeners by @zanmato in #1651
- menu: Add
check_sideto PopupMenu to support display check at right side by @huacnlee in #1677
- plot: Add support for stacked chart by @madcodelife in #1681
- chart: Add candlestick chart by @amiyzku in #1749
Refactor Scrollbar API to easy to use, and tidy scrollbar position in entire of components.
- scrollbar: Remove
Scrollbar::uniform_scroll, useScrollbar::verticalinstead by @huacnlee in #1659 - scrollbar: Manage ScrollbarState in Scrollbar internal by @huacnlee in #1690
- scrollbar: Introduce
overflow_scrollbarto adds Scrollbars to elements by @huacnlee in #1694
- setting: Add Settings component by @huacnlee in #1632
https://github.com/user-attachments/assets/3c6315d9-1183-419c-bb17-a8f7ac0cf25c
- sidebar: Refactor Sidebar to support
Styledby @huacnlee in #1658 - sidebar: Fix Sidebar group and items gap by @huacnlee in #1705
- table: Refactor TableDelegate to easy to access delegate by @huacnlee in #1712
- table: Add
render_headermethod to support custom table header by @huacnlee in #1746
- tab: Allow tab item to fill remaining space by @obito-t in #1654
- text_view: Adding optional code block actions to the TextView by @duanebester in #1725
- theme: Update macos-classic list even color and improved details by @obito-t in #1679, #1699, #1702
- theme: Add
switch.thumb.backgroundtheme config support by @han1548772930 in #1685 - theme: Use difference color like the window background for TitleBar by @huacnlee in #1686
- title_bar: Improve Styled support to TitleBar by @huacnlee in #1693
- title_bar: Fix TitleBar drag area on macOS, and only handle show window menu when it supports by @huacnlee in #1710
- title_bar: Remove window control bg color in normal mode by @huacnlee in #1720
- webview: Public the raw wry webview handle by @madcodelife in #1739
- chore: Update to use Rust edition 2024 by @huacnlee in #1669
- chore: Fix dialog scroll by #1694 change by @huacnlee in #1695
- docs: Fix minor docs issues by @zanmato in #1656
- docs: Remove outdated note on README by @huacnlee in #1700
- docs: Add icons for page background to website by @huacnlee in #1701
- docs: Fix typo in notifications doc by @huacnlee in #1747
Full Changelog: https://github.com/longbridge/gpui-component/compare/v0.4.2...v0.5.0
v0.4.2
- menu: Use defer to avoid race conditions with click listeners by @zanmato in #1651
- input: Fix scroll to offset to support soft wrap mode. by @huacnlee in #1671
- editor: Improve scroll to support position at the edge of the editor on click. by @huacnlee in #1672
- tab: Allow tab item to fill remaining space. by @obito in #1654
- chore: Upgrade tracing-subscriber to fix CVE-2025-58160 @orbisai0security by in #1678
v0.4.1
- button: Add
dropdown_caretoption to show a caret icon to end of button. by @huacnlee in #1637
- chart: Add support to set stroke color on LineChart by @madcodelife in #1629
- dock: Don't close tab via action when it can't be closed via context menu by @CherryWorm in #1581
- dock: Add a way for Panels to track the tab bar they belong to by @CherryWorm in #1580
- dropdown_button: Add more button option methods to DropdownButton. by @huacnlee in #1633
- editor: Fix may crash on render indent guides. by @huacnlee in #1619
- icon: Rework icons to make use of the
IconNamedtrait by @andreaskrath in #1640
- input: Avoid blocking vertical scroll events in single-line mode (#1562) by @chulingera2025 in #1572
- input: Fix x offset resetting for single line inputs by @zanmato in #1591
- list: Fix incorrect selected item background color by @madcodelife in #1648
- menu: Fix icon width to tidy indent in
PopupMenuItem. by @madcodelife in #1620
- notification: Fix close animation not working when closed from content by @Moulberry in #1578
- number_input: Improve style details by @madcodelife in #1606
- number_input: Use input border on the buttons by @madcodelife in #1634
- resizable: Improve to avoid panels from improperly resizing on container resizing. by @CherryWorm in #1560
- resizable, dock: Improve Panel adjust size logic on layout changed. by @CherryWorm in #1588
- root: Improve
newmethod argument to useinto <AnyView>. by @huacnlee in #1594
- select: Add
renderprop to customize item title display. by @obito-t in #1638
- sidebar: Improve Sidebar to allows caret icon to expand submenu. by @huacnlee in #1642
- sidebar: Add to support disable state to sidebar item. by @adriano-tumino in #1645
- slider: Remove thumb tooltip by @CherryWorm in #1582
- table: Split TableState to state.rs by @huacnlee in #1599
- table: Use click event instead of mouse down event by @madcodelife in #1622
- theme: Use
font_familyfor all elements. by @huacnlee in #1618 - theme: Fix
Flexoki Lightfocus color. by @huacnlee in #1647
- tiles: Add auto-snap support for tiles panel to top and left edges by @ihavecoke in #1577
- @chulingera2025 made their first contribution in https://github.com/longbridge/gpui-component/pull/1572
- @zanmato made their first contribution in https://github.com/longbridge/gpui-component/pull/1591
- @adriano-tumino made their first contribution in https://github.com/longbridge/gpui-component/pull/1645
- @andreaskrath made their first contribution in https://github.com/longbridge/gpui-component/pull/1640
Full Changelog: https://github.com/longbridge/gpui-component/compare/v0.4.0...v0.4.1
v0.4.0
In this version we have make a lot of breaking changes to improve the overall API consistency and usability.
If you are upgrading from v0.3.x, please check the changelog carefully and adjust your code accordingly, the PR links are provided for more details of each change.
- breadcrumb: Rename
itemtochildand addchildrenmethod. by @huacnlee in #1519 - clipboard: Removed
contentmethod from Clipboard. by @huacnlee in #1520 - dialog: Rename Modal to Dialog. by @huacnlee in #1538
- form: Renamed
columntocolumns. by @huacnlee in #1522 - form: Rename FormField to
Field. by @huacnlee in #1539 - input, select, date_picker: Refactor
cleanableto have argument and default to false. by @Moulberry in #1506 - list, table: Refactor List, Table to have ListState, TableState. by @huacnlee in #1468
- notification: Add
&mut Selftocontentandactionmethod. by @huacnlee in #1569 - radio: Rename
on_changetoon_clickfor RadioGroup. by @huacnlee in #1517 - resizable: Simplify Resizable API. by @huacnlee in #1459
- select, list: Update
searchabledefault to false. by @huacnlee in #1504 - sheet: Rename
DrawertoSheet. by @huacnlee in #1527 - spinner: Rename Indicator to Spinner. by @huacnlee in #1526
- tab: Refactor creation to use builder pattern by @madcodelife in #1553
- table: Change
context_menumethod in TableDelegate to mutablewindowandcx. by @huacnlee in #1487 - toggle: Refactor Toggle, ToggleGroup API. by @huacnlee in #1515
- Add gpui-component-assets crate by @huacnlee in #1601 See Icon & Assets for how to use.
- button: Remove duplicate disabled style by @madcodelife in #1529
- button_group: Add vertical by @Moulberry in #1537
- button_group: Fix overriding button click when no on_click by @Moulberry in #1546
- chart(pie): Support dynamic inner and outer radius by @madcodelife in #1444
- chart(bar): Fix the label is not centered by @madcodelife in #1448
- collapsible: Add Collapsible. by @huacnlee in #1525
- context_menu: Fix ContextMenu to cover parent element area. by @huacnlee in #1566
- editor: Fix indent guides render position. by @huacnlee in #1524
- input: Improve double-click for word selection by @FlyingYu-Z in #1491
- input: Delete selected text with modifier keys by @Moulberry in #1497
- input: Avoid blocking vertical scroll events in single-line mode by @chulingera2025 in #1572
- input: Fix x offset resetting for single line inputs by @zanmato in #1591
- form(field): Fix label line break not working by @madcodelife in #1558
- label: Fix Label highlight may crash of
not a char boundary. by @huacnlee in #1574
- list: Fix incorrect next selection when select index is none by @madcodelife in #1498
- list: Add
searchable,search_placeholderoption to List and Select. by @huacnlee in #1503 - list: Avoid select item when selectable(false). by @huacnlee in #1508
- menu: Add
itemand exportPopupMenuItemwith builder methods to PopupMenu. by @huacnlee in #1445 - menu: Fix #1545 Popover change broken submenu click in dropdown menu. by @huacnlee in #1563
- modal, drawer: Block background interaction when Modal, Drawer is active. by @FlyingYu-Z in #1483
- modal: Adjust close button position. by @huacnlee in #1532
- number_input: Improve style details by @madcodelife in #1606
- popover: Renamed
no_styletoappearancelike the Input. by @huacnlee in #1523 - popover: Improve Popover API. by @huacnlee in #1545
- popover: Fix #1545 incorrect to sync on_open_change to state. by @huacnlee in #1557
- popover: Fix click trigger to close popover. by @huacnlee in #1559
- popover: Revert defer_to focus on Popover open. by @huacnlee in #1571
- progress: Fix incorrect border radius by @madcodelife in #1555
- select: Impl SelectItem for
&'static str. by @huacnlee in #1451 - select: Avoid reopen menu when clearing selection by @madcodelife in #1484
- select: Restore the selection when canceling by @madcodelife in #1501
- slider: Improve Slider interaction to click on bar to drag. by @CherryWorm in #1544
- slider: Add option to choose between linear and logarithmic scale by @CherryWorm in #1543
- slider: Remove thumb tooltip by @CherryWorm in #1582
- tab: Use on_click instead of action for TabBar dropdown menu. by @huacnlee in #1454
- table: Keep scroll to item at bottom when move down. by @huacnlee in #1499
- table: Fix Table stripe mode overflow scroll. by @huacnlee in #1530
- table: fix row border missing on first frame by @Moulberry in #1505
- table: Fix missing border on first frame by @Moulberry in #1533
- theme: Export more theme options for schema. by @huacnlee in #1442
- theme: Allows to use alpha color for active_border but at least 0.3. by @obito-t in #1531
- tiles: Add
tile_radiustheme option and default 0px. by @huacnlee in #1441 - tiles: Add
scrollbar_showoption to Tiles by @ihavecoke in #1496 - tiles: Add to support panel auto-snap while drag movement by @ihavecoke in #1552
- webview: Add inspector feature to enable WebView developer tools by @ihavecoke in #1564
- docs: Fix typo in README charting description by @gurjeet in #1434
- docs: Remove incorrect
Accessibilitysection. by @huacnlee in #1439 - docs: Update chart by @madcodelife in #1446
- docs: Improve docs add more details. by @huacnlee in #1447
- docs: Add Context & ElementId doc. by @huacnlee in #1460
- docs: Update docs website style. by @huacnlee in #1488
- docs: Fix footer and add note to home page. by @huacnlee in #1511
- docs: Update version to v0.4.0-preview1 in docs. by @huacnlee in #1534
- chore: Rename Dropdown to Select, TextInput to Input. by @huacnlee in #1449
- chore: Keep spawn task on it owner. by @huacnlee in #1456
- chore: Update List, Tree, Kbd exports. by @huacnlee in #1467
- chore: Move
searchableto ListState and SelectState. by @huacnlee in #1507 - chore: Remove unused image example. by @huacnlee in #1510
- chore: Standardize the overall API and improve docs. by @huacnlee in #1516
- chore: Dependency
gpui-macros/inspectorto inspector features by @ihavecoke in #1568
- @gurjeet made their first contribution in https://github.com/longbridge/gpui-component/pull/1434
- @FlyingYu-Z made their first contribution in https://github.com/longbridge/gpui-component/pull/1483
- @Moulberry made their first contribution in https://github.com/longbridge/gpui-component/pull/1497
- @CherryWorm made their first contribution in https://github.com/longbridge/gpui-component/pull/1544
- @chulingera2025 made their first contribution in https://github.com/longbridge/gpui-component/pull/1572
- @zanmato made their first contribution in https://github.com/longbridge/gpui-component/pull/1591
Full Changelog: https://github.com/longbridge/gpui-component/compare/v0.3.1...v0.4.0
v0.3.1
- input: Fix may flash scroll when move cursor in auto grow mode. by @huacnlee in https://github.com/longbridge/gpui-component/pull/1419
- editor: Add indent guides. by @huacnlee in https://github.com/longbridge/gpui-component/pull/1426
- editor: Use
measure_indent_widthfor indent guides width. by @huacnlee in https://github.com/longbridge/gpui-component/pull/1428
- list: Use click events instead of mouse events when confirming by @madcodelife in https://github.com/longbridge/gpui-component/pull/1427
- tiles: Ensure to response correct panel on drag or resize. by @huacnlee in https://github.com/longbridge/gpui-component/pull/1422
- theme: Update scrollbar background color to transparent for all themes. by @Copilot in https://github.com/longbridge/gpui-component/pull/1421
- example: Add missed control icon assets by @iainlau in https://github.com/longbridge/gpui-component/pull/1424
- example: Fix title bar paddings for window_title example. by @huacnlee in https://github.com/longbridge/gpui-component/pull/1429
- Add bump version shell by @madcodelife in https://github.com/longbridge/gpui-component/pull/1423
- @iainlau made their first contribution in https://github.com/longbridge/gpui-component/pull/1424
Full Changelog: https://github.com/longbridge/gpui-component/compare/v0.3.0...v0.3.1
v0.3.0
- button: Add support for
on_hoverevent by @madcodelife in #1341 - button: Fix the
on_hoverdoes not respond by @madcodelife in #1346 - button: Support specified anchor to dropdown button by @madcodelife in #1367
- checkbox: Do not stop propagation when click by @madcodelife in #1385
- dropdown: Use
display_titlefor item title if present by @stippi in #1410
- editor: Fix code actions not display by @huacnlee in #1347
- editor: Add delay to trigger hover popover by @huacnlee in #1361
- editor: Improve hover popover delay by @huacnlee in #1389
- highlighter: Make
SyntaxHighlighter::stylesmethod public for external use by @huacnlee in #1415
- input: impl Selectable for TextInput that allow it as trigger for popover by @richerfu in #1353
- input: Fix
set_valuewhen Input is disabled by @huacnlee in #1362 - input: Grouping input history to avoid IME placeholder by @huacnlee in #1375
- input: Fix Input panics when masked have non-ASCII characters by @huacnlee in #1382
- input: Stop propagation on scroll wheel by @huacnlee in #1406
- input: Hide scrollbar when not overflow in auto grow mode by @huacnlee in #1407
- input: Fix Input to prepare text wrapper by @huacnlee in #1417
- markdown: Use
listfor Markdown render and add scrollbar by @huacnlee in #1357
- menu: Fix submenu item selection when multiple submenus exist by @ihavecoke in #1342
- menu: Fix trigger action with context by @huacnlee in #1372
- plot: Add StepAfter kind to StokeStrike by @itsmgo in #1356
- plot: Add stroke style per each Y series by @itsmgo in #1364
- plot(line_chart): Add missing natural stroke style by @madcodelife in #1366
- scrollbar: Fix scroll to show mode by @huacnlee in #1381
- scrollbar: Update scrollbar background color to transparent for all themes by @huacnlee #1421
- virtual_list: Fix VirtualList to limit only allow 1 direction scrollable by @huacnlee in #1386
- virtual_list: Fix VirtualList by measure item to get correct content_size to avoid scroll overflow by @huacnlee in #1388
Documentation website is online: https://longbridge.github.io/gpui-component
- chore: Update GPUI v0.2.2 by @huacnlee in #1416
- @richerfu made their first contribution in #1353
- @itsmgo made their first contribution in #1356
- @han1548772930 made their first contribution in #1370
- @YougLin-dev made their first contribution in #1398
- @vincenthz made their first contribution in #1404
- @stippi made their first contribution in #1410
v0.2.0
🚀 First release version to crates.io.
- Refactor
tabkey to switch focus by @huacnlee (#991)
- Disable context menu item for disabled input by @huacnlee (#1280)
- Use shape line for soft wrap lines by @huacnlee (#1293)
- Fix RopeExt replace method may not on a char boundary by @huacnlee (#1295)
- Update RopeExt to use LF style for line calc when
\rpresent by @huacnlee (#1296) - Fix Input to unselect on blur by @huacnlee (#1303)
- Avoid scroll on select all by @huacnlee (#1305)
- Clean to reset selection and scroll offset by @huacnlee (#1326)
- Implement styled for number input by @madcodelife (#1333)
- Add document_colors LSP by @huacnlee (#1329)
- Add to support move vertical for soft wrapped lines by @huacnlee (#1312)
- Avoid trigger hover on selection by @huacnlee (#1287)
- Improve
slice_linemethod performance by @huacnlee (#1290) - Improve TextWrapper performance by @huacnlee (#1292)
- Improve line number width by max lines by @huacnlee (#1291)
- Improve enter indent level performance by @huacnlee (#1304)
- Fix hover definition to hide immediately by @huacnlee (#1309)
- Fix Editor crash when content is empty by @huacnlee (#1314)
- Split Input and Editor background color by @huacnlee (#1323)
- Refactor TextView/SyntaxHighlighter with async parsing to improve performance by @sunli829 (#1299)
- Support custom code block style by @huacnlee (#1288)
- Fix Ayu theme comment color by @huacnlee (#1316)
- Update macos-classic dark theme color by @huacnlee (#1320)
- Update theme schema: remove
card, addgroup_boxby @huacnlee (#1321) - Fix button label overflow by @huacnlee (#1322)
- Bind element ID after button creation by @madcodelife (#1325)
- Let normal/active tabs share border to prevent flash by @huacnlee (#1327)
- Better handle hover for menu item by @huacnlee (#1332)
- Add flex property to custom popup menu items by @ihavecoke (#1335)
- Improve MenuItem paddings by @huacnlee (#1339)
- Fix input mark text render by @huacnlee (#1298)
- Fix Editor crash when empty string triggers placeholder by @huacnlee (#1314)
- Fix context menu subscription leak by @huacnlee (#1337)
- Fix UTF-8 boundary in highlighter using
clip_offsetby @xudesheng (#1317)
- use async-wry by @sunli829 (#1300)
- Remove unnecessary RefCell by @sunli829 (#1301)
- Remove Wef code (moved to external crate) by @Copilot (#1302)
- Interpolate folder path via rust embed by @carlocorradini (#1318)
- Implement styled for custom style by @madcodelife (#1319)
- @xudesheng made their first contribution in https://github.com/longbridge/gpui-component/pull/1317
- @carlocorradini made their first contribution in https://github.com/longbridge/gpui-component/pull/1318
Full Changelog: https://github.com/longbridge/gpui-component/compare/v20250925...v0.2.0