v0.7.1
OpenMOSS/MOSS-TTSv0.7.1Oct 5, 2026by huacnlee
Upgrading?
Full Release Notes
# v0.7.1 GPUI Kit v0.7.1 adds speech input and ColorSelect, and gives charts an initial draw-in animation. It improves IME editing, inline-token interactions, Markdown source mapping and streaming, keyboard focus, and table rendering. This release pins the GPUI snapshot dependencies to 0.3.8. ## New components and charts - **Speech input**: enable the `speech` feature to capture audio with `SpeechState`, start and stop sessions with `SpeechButton`, and display levels with `SpeechWaveform`. Applications can supply a `SpeechRecognizer` and `AudioInput`; native system recognition is available on supported macOS and Windows configurations, while Linux needs an application recognizer. ([#3333](https://github.com/longbridge/gpui-kit/pull/3333)) - **Speech waveform**: levels are sampled once per 80 ms, and the waveform starts empty and scrolls smoothly from the trailing edge using its own playhead. ([#3352](https://github.com/longbridge/gpui-kit/pull/3352)) - **ColorSelect**: use a framed color field with a swatch, hex value and caret in forms. `ColorSelect::new` shares `ColorPickerState` with the compact picker, and supports placeholder and accessible-name overrides. `ColorPicker` now applies its root style refinements. ([#3289](https://github.com/longbridge/gpui-kit/pull/3289)) - **Chart appear motion**: built-in charts draw their data in on first paint, with reduced-motion support. Use `.appear(false)` to opt out or `.appear_key(...)` to replay; `PlotAppearScope` remembers completed animations across virtual-list remounts while the scope remains painted. Existing custom plots retain their behavior unless they opt in. ([#3296](https://github.com/longbridge/gpui-kit/pull/3296), [#3308](https://github.com/longbridge/gpui-kit/pull/3308)) ## Editor and text input - **Inline-token hover**: `Input::on_token_hover` and `Textarea::on_token_hover` report token entry and exit with `InlineTokenHoverEvent`, so applications can anchor tooltips or previews without changing selection. JavaScript bindings expose the same interaction. ([#3346](https://github.com/longbridge/gpui-kit/pull/3346)) - Fixed IME candidate positioning before repaint and grouped rewrites of a typed character, including Korean IME input, into the typing undo step. ([#3297](https://github.com/longbridge/gpui-kit/pull/3297), [#3341](https://github.com/longbridge/gpui-kit/pull/3341)) - Fixed Textarea row-based height, text clipping in short single-line frames, and consistency between soft wrapping and horizontal scrolling. ([#3330](https://github.com/longbridge/gpui-kit/pull/3330), [#3343](https://github.com/longbridge/gpui-kit/pull/3343), [#3358](https://github.com/longbridge/gpui-kit/pull/3358)) - Fixed completion-prefix measurement and stale trigger offsets, Kotlin syntax-query compilation, and stale syntax-injection ranges. ([#3363](https://github.com/longbridge/gpui-kit/pull/3363), [#3367](https://github.com/longbridge/gpui-kit/pull/3367), [#3317](https://github.com/longbridge/gpui-kit/pull/3317)) - Fixed mask validation for non-ASCII characters, including Chinese literal separators and characters matched by `*`. ([#3369](https://github.com/longbridge/gpui-kit/pull/3369)) ## Markdown and text rendering - **Source-based highlights**: `RenderedText::source` exposes the source of the rendered snapshot, and `range_for_source` converts Markdown source byte ranges into rendered ranges for `RangeHighlight`. ([#3281](https://github.com/longbridge/gpui-kit/pull/3281)) - **Scrollable code blocks**: a code-block style with vertical scrolling and a height cap now provides its own scrollbar, handles nested wheel scrolling and keeps code actions pinned. ([#3322](https://github.com/longbridge/gpui-kit/pull/3322)) - Improved streaming through incremental prefix updates in `TextViewState::set_text` and by committing valid background parse results overtaken by newer chunks. ([#3294](https://github.com/longbridge/gpui-kit/pull/3294), [#3344](https://github.com/longbridge/gpui-kit/pull/3344)) - Fixed CJK punctuation wrapping, inherited text colors in filled containers, and ragged GFM table rows; scroll-table column measurements are reused. ([#3293](https://github.com/longbridge/gpui-kit/pull/3293), [#3329](https://github.com/longbridge/gpui-kit/pull/3329), [#3365](https://github.com/longbridge/gpui-kit/pull/3365), [#3318](https://github.com/longbridge/gpui-kit/pull/3318)) ## Dock and controls - **Dock**: `DockArea::set_split_sizes` restores a split's proportions in place, without rebuilding panels, and reports one layout change. ([#3314](https://github.com/longbridge/gpui-kit/pull/3314)) - **Questionnaire**: choosing a single-choice answer now confirms the item and advances or submits after a brief feedback pause. `QuestionnaireState::choose` exposes that activation path; `activate_choice` continues to change the answer without confirming. Arrow-key selection, multiple-choice toggles and freeform typing do not auto-advance. ([#3350](https://github.com/longbridge/gpui-kit/pull/3350)) - **Keyboard focus**: borderless buttons show a legible focus line, DataTable shows keyboard focus, and popup menus preserve a single keyboard highlight. ([#3299](https://github.com/longbridge/gpui-kit/pull/3299), [#3300](https://github.com/longbridge/gpui-kit/pull/3300), [#3307](https://github.com/longbridge/gpui-kit/pull/3307)) - **Control sizing**: control text follows the Input/Select size ladder, OtpInput follows interface zoom, and Large Switch uses a larger track. ([#3287](https://github.com/longbridge/gpui-kit/pull/3287)) - **Clipboard**: buttons have a localized accessible name by default; `accessibility_label` provides a contextual override. ([#3354](https://github.com/longbridge/gpui-kit/pull/3354)) - **Slider**: touch drags on the track move the thumb. ([#3313](https://github.com/longbridge/gpui-kit/pull/3313)) - **Radio**: disabled controls stay disabled inside RadioGroup. ([#3331](https://github.com/longbridge/gpui-kit/pull/3331)) - **Shimmer**: the default highlight remains visible on foreground text in dark mode. ([#3328](https://github.com/longbridge/gpui-kit/pull/3328)) - **Command**: item-row corners stay concentric with the frame. ([#3285](https://github.com/longbridge/gpui-kit/pull/3285)) ## Runtime, platform and documentation - **GPUI snapshot**: exact snapshot dependencies are updated to `=0.3.8`, with continuation-indent API adaptation preserving the previous wrapping behavior. ([#3370](https://github.com/longbridge/gpui-kit/pull/3370)) - **Web runtime**: target-specific Instant handling avoids a touch-related wasm panic. ([#3271](https://github.com/longbridge/gpui-kit/pull/3271)) - **Scrolling**: phaseless mouse wheels continue scrolling after an edge bounce. ([#3316](https://github.com/longbridge/gpui-kit/pull/3316)) - **Shell**: QuickJS JIT is updated to 0.12.11. ([#3338](https://github.com/longbridge/gpui-kit/pull/3338)) - **Kit macros**: the hidden GPUI re-export points at Kit, keeping generated paths consistent. ([#3306](https://github.com/longbridge/gpui-kit/pull/3306)) - **Documentation**: release snapshots drive onboarding dependency versions; setup documents the macOS font-kit requirement, and skill examples correct app startup, async and Select re-entrancy usage. ([#3284](https://github.com/longbridge/gpui-kit/pull/3284), [#3356](https://github.com/longbridge/gpui-kit/pull/3356), [#3339](https://github.com/longbridge/gpui-kit/pull/3339), [#3345](https://github.com/longbridge/gpui-kit/pull/3345), [#3351](https://github.com/longbridge/gpui-kit/pull/3351)) ## Behavior changes Charts animate on first paint by default; disable this with `.appear(false)`. Non-interactive built-in charts now retain an element ID for animation and caches, while remaining non-interactive. ([#3296](https://github.com/longbridge/gpui-kit/pull/3296)) ```diff let chart = LineChart::new(data).interactive(false); - assert!(Plot::id(&chart).is_none()); + assert!(Plot::id(&chart).is_some()); + assert!(!Plot::interactive(&chart)); ``` Single-choice Questionnaire activation now confirms by default. Applications that need to change an answer without confirmation can continue to call `activate_choice`. ([#3350](https://github.com/longbridge/gpui-kit/pull/3350)) Thank you to everyone who contributed code, documentation, testing, and feedback! ## What's Changed * command: Keep item row radius concentric with the frame by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3285 * website: Follow release versions and highlight diffs by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3284 * base: Gate GlobalState's Instant by target to fix a wasm touch panic by @yoyo930021 in https://github.com/longbridge/gpui-kit/pull/3271 * color_picker: Add ColorSelect, a framed field that opens the picker by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3289 * text: Keep inline flow lines within the wrap width for CJK punctuation by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3293 * button: Show keyboard focus on borderless variants when `focus_ring` is off by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3299 * chart: Add appear motion to `Plot` and every chart by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3296 * text: parse prefix extensions incrementally in TextViewState::set_text (#3291) by @Yi-111-a in https://github.com/longbridge/gpui-kit/pull/3294 * button: Keep the focus line off text and legible on fills by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3300 * website: Fit StatusBar demo sections to narrow windows by @ihavecoke in https://github.com/longbridge/gpui-kit/pull/3301 * docs: Update gpui-kit dependency version to 0.7 in READMEs by @obito-t in https://github.com/longbridge/gpui-kit/pull/3304 * website: Keep box-drawing glyphs in the gallery font subsets by @ihavecoke in https://github.com/longbridge/gpui-kit/pull/3305 * table, menu: Show keyboard focus on `DataTable` and keep menu highlights on key presses by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3307 * plot: Keep finished appears across remounts with `PlotAppearScope` by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3308 * kit: Point the hidden gpui re-export at the Kit itself by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3306 * dock: Add `DockArea::set_split_sizes` to restore a split's slot sizes by @IHadACookie in https://github.com/longbridge/gpui-kit/pull/3314 * component: Align control text sizes with Input and Select by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3287 * scroll_bounce: Let phaseless wheels scroll again after bouncing at an edge by @ylinwind in https://github.com/longbridge/gpui-kit/pull/3316 * highlighter: Clip stale injection ranges to char boundaries before slicing by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3317 * slider: Let a touch drag on the track move the thumb by @Bombatomica64 in https://github.com/longbridge/gpui-kit/pull/3313 * chore: upgrade notify to 8.2 and harden theme watching by @orielhaim in https://github.com/longbridge/gpui-kit/pull/3320 * shell: update QuickJS JIT to 0.12.11 by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3338 * docs: Document macOS font-kit requirement by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3339 * text: Avoid remeasuring scroll-table column widths by @lurenjia534 in https://github.com/longbridge/gpui-kit/pull/3318 * markdown: add source & range_for_source by @tidely in https://github.com/longbridge/gpui-kit/pull/3281 * text_view: Let fenced code blocks scroll inside a height cap by @jarviisha in https://github.com/longbridge/gpui-kit/pull/3322 * shimmer: Keep the default highlight visible on foreground text in dark mode by @Bombatomica64 in https://github.com/longbridge/gpui-kit/pull/3328 * text_view: Follow the container's text color so rich text reads in filled bubbles by @Bombatomica64 in https://github.com/longbridge/gpui-kit/pull/3329 * input: Make rows set the height of a plain Textarea again by @Bombatomica64 in https://github.com/longbridge/gpui-kit/pull/3330 * radio: Keep a disabled Radio disabled inside a RadioGroup by @Bombatomica64 in https://github.com/longbridge/gpui-kit/pull/3331 * input: Keep a single-line Input's text from being clipped in a short frame by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3343 * website: Fix bold labels in Chinese numbered lists by @ihavecoke in https://github.com/longbridge/gpui-kit/pull/3342 * skills: Fix async and app startup examples that don't compile by @AncientPixel in https://github.com/longbridge/gpui-kit/pull/3345 * questionnaire: Confirm a single-choice item when a choice is chosen by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3350 * skills: Fix the Select re-entrancy test examples by @AncientPixel in https://github.com/longbridge/gpui-kit/pull/3351 * speech: Add speech input by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3333 * input: Group IME rewrites of the typed character into one undo step by @insd47 in https://github.com/longbridge/gpui-kit/pull/3341 * text: Commit background parses that a newer streamed chunk overtook by @FenjuFu in https://github.com/longbridge/gpui-kit/pull/3344 * input: fall back to last caret for IME candidate bounds before repaint (#3286) by @Yi-111-a in https://github.com/longbridge/gpui-kit/pull/3297 * website: Fail a docs test on a hand-written GPUI Kit version by @Yi-111-a in https://github.com/longbridge/gpui-kit/pull/3353 * website: Match onboarding dependencies to release snapshots by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3356 * clipboard: Add accessibility_label to name the icon button by @counterbeing in https://github.com/longbridge/gpui-kit/pull/3354 * input: report inline token hover for tooltips and previews by @Muhammad-Owais-Warsi in https://github.com/longbridge/gpui-kit/pull/3346 * input: Keep horizontal scrolling and soft wrapping consistent by @suxiaoshao in https://github.com/longbridge/gpui-kit/pull/3358 * editor: Measure the completion prefix from the typed text and drop stale trigger offsets by @abderbejaoui in https://github.com/longbridge/gpui-kit/pull/3363 * highlighter: Make the Kotlin query compile against its grammar by @PieWhite in https://github.com/longbridge/gpui-kit/pull/3367 * text_view: normalize GFM table rows to the header column count by @kossoy in https://github.com/longbridge/gpui-kit/pull/3365 * input: Count characters, not bytes, when validating a mask pattern by @kevin9327 in https://github.com/longbridge/gpui-kit/pull/3369 * speech: Pace `SpeechWaveform` at one bar per 80 ms and scroll it smoothly by @madcodelife in https://github.com/longbridge/gpui-kit/pull/3352 * kit: Update GPUI to gpui-pre 0.3.8 and prepare v0.7.1 by @huacnlee in https://github.com/longbridge/gpui-kit/pull/3370 ## New Contributors * @yoyo930021 made their first contribution in https://github.com/longbridge/gpui-kit/pull/3271 * @Bombatomica64 made their first contribution in https://github.com/longbridge/gpui-kit/pull/3313 * @orielhaim made their first contribution in https://github.com/longbridge/gpui-kit/pull/3320 * @AncientPixel made their first contribution in https://github.com/longbridge/gpui-kit/pull/3345 * @insd47 made their first contribution in https://github.com/longbridge/gpui-kit/pull/3341 * @FenjuFu made their first contribution in https://github.com/longbridge/gpui-kit/pull/3344 * @counterbeing made their first contribution in https://github.com/longbridge/gpui-kit/pull/3354 * @abderbejaoui made their first contribution in https://github.com/longbridge/gpui-kit/pull/3363 * @PieWhite made their first contribution in https://github.com/longbridge/gpui-kit/pull/3367 * @kevin9327 made their first contribution in https://github.com/longbridge/gpui-kit/pull/3369 **Full Changelog**: https://github.com/longbridge/gpui-kit/compare/v0.7.0...v0.7.1
Related Repositories
public-apis/public-apis★ 491,140
A collective list of free APIs
NousResearch/hermes-agent★ 255,981
The agent that grows with you
yt-dlp/yt-dlp★ 200,080
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,496
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,704
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.