v0.5.0

OpenSignLabs/OpenSignv0.5.0Dec 8, 2025by huacnlee

AI Summary

A major update focusing on UI component library enhancements, including new charts (stacked, candlestick), an InlineCompletion LSP support in the editor, and significant API refactoring for the Dock and Sidebar.

Key Highlights

  • Added Settings component and new chart types
  • InlineCompletion LSP support in Editor
  • Refactored Dock API to simplify Panel trait
  • Refactored Scrollbar API
  • Updated to Rust edition 2024

Breaking Changes

  • Rename `item` to `child` and add `children` in breadcrumb
  • Removed `content` method from Clipboard
  • Rename Modal to Dialog
  • Renamed `column` to `columns` in form
  • Rename FormField to `Field`
  • Refactor `cleanable` to have argument and default to false
  • Refactor List, Table to have ListState, TableState
  • Add `&mut Self` to `content` and `action` in notification
  • Rename `on_change` to `on_click` for RadioGroup
  • Simplify Resizable API
  • Update `searchable` default to false
  • Rename `Drawer` to `Sheet`
  • Rename Indicator to Spinner
  • Refactor creation to use builder pattern in tab
  • Change `context_menu` method in TableDelegate to mutable `window` and `cx`
  • Refactor Toggle, ToggleGroup API

New Features

  • Settings component
  • Stacked chart support
  • Candlestick chart
  • InlineCompletion LSP support
  • CodeEditor single line mode
  • Overflow scrollbar feature
  • Custom table header rendering

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