v0.5.0

Project-HAMi/HAMiv0.5.0Dec 8, 2025by huacnlee

AI Summary

The gpui-component v0.5.0 release focuses on UI component improvements, including new charting capabilities, editor enhancements, and theme updates.

Key Highlights

  • Added candlestick and stacked chart support for data visualization.
  • Implemented Inline Completion LSP support in the Editor.
  • Refactored Scrollbar API for better usability and position management.
  • Added a new Settings component and overflow scrollbar support.

New Features

  • Inline Completion LSP support in Editor.
  • Candlestick chart support.
  • Stacked chart support.
  • Settings component.
  • Overflow scrollbar support.

Full Release Notes

## ColorPicker
- color_picker: Add radius on focus border by @madcodelife in #1652
- color_picker: Only change value when it's confirmed by @madcodelife in #1682

## ContextMenu
- context_menu: Prevent mouse events when menu popped out by @madcodelife in #1750

## Divider
- divider: Add support for dashed divider by @madcodelife in #1730

<img width="454" height="198" alt="image" src="https://github.com/user-attachments/assets/8a280c21-8004-4eea-8706-85b4fcebba6f" />

## Dock
- dock: Render title bar based on visible panels by @madcodelife in #1697
- dock: Use `visible_panels` method by @madcodelife in #1698
- dock: Refactor Panel trait to has `&mut self` and `&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 `title` to return `impl IntoElement` by @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
- 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
- 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

<img width="451" height="106" alt="image" src="https://github.com/user-attachments/assets/f466083f-1e16-4c6a-9492-a7b73b8f5043" />

- 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
- list: Refactor ListDelegate to easy access delegate by @huacnlee in #1713
- list: Fix list item may overflow by @huacnlee in #1726

## Menu
- menu: Use defer to avoid race conditions with click listeners by @zanmato in #1651
- menu: Add `check_side` to PopupMenu to support display check at right side by @huacnlee in #1677

## Chat
- plot: Add support for stacked chart by @madcodelife in #1681
- chart: Add candlestick chart by @amiyzku in #1749

<img width="337" height="424" alt="SCR-20251126-puzm" src="https://github.com/user-attachments/assets/eff9e2d0-c13a-449a-b717-9568e0c2f88d" />

<img width="330" height="410" alt="image" src="https://github.com/user-attachments/assets/7b48079f-cb84-4c77-b495-2f1bbb449112" />

## Scrollbar

Refactor Scrollbar API to easy to use, and tidy scrollbar position in entire of components.

<img width="1181" height="911" alt="image" src="https://github.com/user-attachments/assets/8b02cd54-d527-4f22-b9be-f762ede22122" />

- scrollbar: Remove `Scrollbar::uniform_scroll`, use `Scrollbar::vertical` instead by @huacnlee in #1659
- scrollbar: Manage ScrollbarState in Scrollbar internal by @huacnlee in #1690
- scrollbar: Introduce `overflow_scrollbar` to adds Scrollbars to elements by @huacnlee in #1694

## Setting
- setting: Add Settings component by @huacnlee in #1632

https://github.com/user-attachments/assets/3c6315d9-1183-419c-bb17-a8f7ac0cf25c

## Sidebar
- sidebar: Refactor Sidebar to support `Styled` by @huacnlee in #1658
- sidebar: Fix Sidebar group and items gap by @huacnlee in #1705

## Table
- table: Refactor TableDelegate to easy to access delegate by @huacnlee in #1712
- table: Add `render_header` method to support custom table header by @huacnlee in #1746

## Tab
- tab: Allow tab item to fill remaining space by @obito-t in #1654

## TextView
- text_view: Adding optional code block actions to the TextView by @duanebester in #1725
<img width="627" height="535" alt="Screenshot 2025-12-01 at 8 38 22 PM" src="https://github.com/user-attachments/assets/cae67b43-bba8-4834-a060-4bd63d34aefd" />

## Theme
- theme: Update macos-classic list even color and improved details by @obito-t in #1679, #1699, #1702
- theme: Add `switch.thumb.background` theme config support by @han1548772930 in #1685
- theme: Use difference color like the window background for TitleBar by @huacnlee in #1686

## TitleBar
- 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
- webview: Public the raw wry webview handle by @madcodelife in #1739

## Others
- 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