docs: clean up Unreleased changelog

- Keep one section per public changelog category

- Remove duplicate and validation-only entries

- Restore missing user-visible clipboard and MCP fixes
This commit is contained in:
Danila Poyarkov 2026-08-18 17:54:18 +03:00
parent f3973202eb
commit 3e8171ffda

View file

@ -2,20 +2,10 @@
## Unreleased ## Unreleased
### Changed
- Update compatible application, workspace, desktop, build, and test dependencies while preserving browser package boundaries.
### Added ### Added
- Open multiple selected design files in separate tabs. - Open multiple selected design files in separate tabs.
- Add deterministic two-browser collaboration coverage for bidirectional edits, awareness, departure cleanup, partitioned-peer convergence, and reconnect synchronization without public network dependencies. (#530)
- Import, render, edit, resize, select, and export Figma text-on-path layers while preserving their curved glyph layout. - Import, render, edit, resize, select, and export Figma text-on-path layers while preserving their curved glyph layout.
- Add tested pane-registry and recursive split-tree models for independently viewed same-document canvases, capped at four visible panes.
- Add explicit shared/view editor-state ownership and canvas render-state hooks as a foundation for independent same-document canvas panes.
- Improve collaboration efficiency by avoiding redundant unchanged-field Yjs writes and covering repeated and concurrent two-peer edits.
- Show Figma-style temporary distance measurements between selected and Option/Alt-hovered layers. (#491) - Show Figma-style temporary distance measurements between selected and Option/Alt-hovered layers. (#491)
- Add a single CodeMirror editor for live Design JSX and HTML/CSS canvas previews, with Tailwind JSX viewing, completion, diagnostics, line numbers, bounded execution, and session-level undo. (#130) - Add a single CodeMirror editor for live Design JSX and HTML/CSS canvas previews, with Tailwind JSX viewing, completion, diagnostics, line numbers, bounded execution, and session-level undo. (#130)
- Allow supported AI model profiles to set a provider-specific reasoning effort. (#454) - Allow supported AI model profiles to set a provider-specific reasoning effort. (#454)
@ -27,7 +17,7 @@
- Detect newer component-library revisions and explicitly apply stable-key updates to linked instances while preserving assignments and retaining old definitions. (#239) - Detect newer component-library revisions and explicitly apply stable-key updates to linked instances while preserving assignments and retaining old definitions. (#239)
- Let AI, MCP, and headless tools discover enabled library components, rank preferred libraries before local assets, and insert components by stable library identity. (#239) - Let AI, MCP, and headless tools discover enabled library components, rank preferred libraries before local assets, and insert components by stable library identity. (#239)
- Publish the current document as an immutable local component library from the Assets panel, assigning durable collision-safe asset keys on first publication. (#239) - Publish the current document as an immutable local component library from the Assets panel, assigning durable collision-safe asset keys on first publication. (#239)
- Review component-library asset changes before acceptance and undo or redo accepted instance updates as one editor history action. (#239) - Preview component-library asset changes before acceptance and undo or redo accepted instance updates as one editor history action. (#239)
- Preserve enabled-library bindings and materialized definition identities through `.fig` save/reopen, and reject Figma API or AI edits to read-only library definitions. (#239) - Preserve enabled-library bindings and materialized definition identities through `.fig` save/reopen, and reject Figma API or AI edits to read-only library definitions. (#239)
- Enforce read-only library capabilities across visual/layout Figma API setters, structural edits, editor history actions, variant authoring, and clipboard replacement while keeping instances editable. (#239) - Enforce read-only library capabilities across visual/layout Figma API setters, structural edits, editor history actions, variant authoring, and clipboard replacement while keeping instances editable. (#239)
- Publish component-library revisions to storage-provider object namespaces with immutable revision objects, validated manifests, and conflict-checked latest pointers. (#239) - Publish component-library revisions to storage-provider object namespaces with immutable revision objects, validated manifests, and conflict-checked latest pointers. (#239)
@ -37,26 +27,23 @@
- Persist the selected local/storage catalog and preferred-library priorities, restoring them for Assets browsing and AI component ranking. (#239) - Persist the selected local/storage catalog and preferred-library priorities, restoring them for Assets browsing and AI component ranking. (#239)
- Validate downloaded library revisions against size, node, image, content-hash, and revision-hash limits before caching or materialization. (#239) - Validate downloaded library revisions against size, node, image, content-hash, and revision-hash limits before caching or materialization. (#239)
- Manage bounded filesystem component-library catalogs from the CLI with JSON-capable `libraries list` and immutable `libraries publish` commands. (#239) - Manage bounded filesystem component-library catalogs from the CLI with JSON-capable `libraries list` and immutable `libraries publish` commands. (#239)
- Cover the complete local library lifecycle from multidimensional publication and cross-document insertion through `.fig` save/reopen and offline linked-instance editing. (#239)
- Track library update state per linked instance so individual instances or every instance of one asset can accept a revision while older definitions remain usable. (#239) - Track library update state per linked instance so individual instances or every instance of one asset can accept a revision while older definitions remain usable. (#239)
- Group outdated linked instances by library asset, filter updates by current page or all pages, and apply visible updates in one undoable transaction. (#239) - Show outdated linked library instances by asset and update the current page or all pages in one undoable action. (#239)
- Keep library update discovery read-only until acceptance and cover the populated managers page scope, atomic update, and graph immutability in Playwright. (#239)
- Add a reproducible Dev Container for web, package, CLI, and non-browser test development. - Add a reproducible Dev Container for web, package, CLI, and non-browser test development.
- Add local crash recovery for unsaved and pathless documents, including MCP-created documents. (#487) - Add local crash recovery for unsaved and pathless documents, including MCP-created documents. (#487)
- Add isolated visual inspection that sends bounded selection renders to the configured Vision model and returns text findings without retaining image data in Design chat history. (#232, #471) - Add isolated visual inspection that sends bounded selection renders to the configured Vision model and returns text findings without retaining image data in Design chat history. (#232, #471)
- Add image attachments to AI chat with bounded analysis, immediate transcript thumbnails, hover previews, and click-to-view images. (#232) - Add image attachments to AI chat with bounded analysis, immediate transcript thumbnails, hover previews, and click-to-view images. (#232)
- Allow supported AI model profiles to set a provider-specific reasoning effort. (#454)
- Show unavailable or substituted document fonts with affected-layer selection and retry actions, and expose font fidelity through the Figma API and MCP tooling. (#503)
### Changed ### Changed
- Pan horizontally with Shift+wheel while preserving native horizontal trackpad movement.
- Move MCP connections into their own Settings destination instead of presenting them as part of model configuration. - Move MCP connections into their own Settings destination instead of presenting them as part of model configuration.
- Pan horizontally with Shift+wheel while preserving native horizontal trackpad movement.
### Performance ### Performance
- Avoid redundant collaboration writes when synchronized node fields have not changed.
- Release obsolete streamed Markdown parser history after each AI response completes, preventing chat memory from multiplying with every streamed chunk. (#544) - Release obsolete streamed Markdown parser history after each AI response completes, preventing chat memory from multiplying with every streamed chunk. (#544)
- Use cached axis-aligned world positions for hit testing untransformed layer chains and add representative 500/2,000-node interaction profiles. (#527) - Open large documents faster by using cached world positions while finding layers under the pointer. (#527)
- Coalesce writable-document autosaves that overlap an active `.fig` export while preserving a trailing save for newer edits. (#528) - Coalesce writable-document autosaves that overlap an active `.fig` export while preserving a trailing save for newer edits. (#528)
- Defer JSX generation and syntax highlighting until the Code panel is active, keeping large canvas selections responsive. (#500) - Defer JSX generation and syntax highlighting until the Code panel is active, keeping large canvas selections responsive. (#500)
- Index Figma clipboard children once during import instead of rescanning every pasted node, keeping large flat pastes linear. (#500) - Index Figma clipboard children once during import instead of rescanning every pasted node, keeping large flat pastes linear. (#500)
@ -69,13 +56,13 @@
- Let desktop users select and copy AI chat text without replacing it with the selected canvas layers. (#538) - Let desktop users select and copy AI chat text without replacing it with the selected canvas layers. (#538)
- Restore visible above, below, and child drop feedback while dragging layers in the Layers panel. - Restore visible above, below, and child drop feedback while dragging layers in the Layers panel.
- Place editor-created instances beside nested source components in world space, including transformed source and destination parents. - Place editor-created instances beside nested source components in world space, including transformed source and destination parents.
- Harden collaboration node synchronization against malformed remote source metadata and geometry while excluding derived text-renderer caches. - Prevent malformed collaboration updates from corrupting synchronized nodes or derived text rendering.
- Transfer native `.fig` exports over binary Tauri IPC instead of JSON byte arrays, preventing large desktop saves from being truncated or exhausting WebView memory. (#484) - Transfer native `.fig` exports over binary Tauri IPC instead of JSON byte arrays, preventing large desktop saves from being truncated or exhausting WebView memory. (#484)
- Keep unsaved source-less documents recoverable after their editor tab is closed, matching Figma's retained offline-change behavior. - Keep unsaved source-less documents recoverable after their editor tab is closed, matching Figma's retained offline-change behavior.
- Decode zstd-compressed FIG containers, reject invalid compressed payloads, and preserve exact fixture byte ranges. (#397) - Decode zstd-compressed FIG containers, reject invalid compressed payloads, and preserve exact fixture byte ranges. (#397)
- Compose caller CSS with Tailwind defaults when importing DOM/CSS documents. (#397) - Compose caller CSS with Tailwind defaults when importing DOM/CSS documents. (#397)
- Preserve desktop HTTP timeout, abort, and empty-response semantics. (#397) - Preserve desktop HTTP timeout, abort, and empty-response semantics. (#397)
- Escape Vue SDK test selectors when the browser `CSS` global is unavailable. (#397) - Resolve Vue SDK semantic test selectors correctly in non-browser runtimes. (#397)
- Report whether missing Figma clipboard images were actually fetched. (#397) - Report whether missing Figma clipboard images were actually fetched. (#397)
- Report exhausted provider credit, request failures, and output-token limits through localized chat toasts and copied diagnostics. (#451, #454) - Report exhausted provider credit, request failures, and output-token limits through localized chat toasts and copied diagnostics. (#451, #454)
- Prevent Windows desktop crashes when loading large system fonts for non-Latin text. - Prevent Windows desktop crashes when loading large system fonts for non-Latin text.
@ -88,6 +75,8 @@
- Preserve effective nested instance text overrides when importing complex Figma component hierarchies. (#102) - Preserve effective nested instance text overrides when importing complex Figma component hierarchies. (#102)
- Preserve SVG clip paths, including clip shapes referenced through `<use>`, when importing editable vectors. - Preserve SVG clip paths, including clip shapes referenced through `<use>`, when importing editable vectors.
- Preserve circles, ellipses, rectangles, lines, polylines, and polygons supplied as JSX children of inline SVG elements. (#452) - Preserve circles, ellipses, rectangles, lines, polylines, and polygons supplied as JSX children of inline SVG elements. (#452)
- Preserve component links when pasting Figma instances so later component edits continue to update them.
- Stop local MCP servers after the app disconnects instead of leaving orphaned background processes. (#494)
## 0.14.0 — 2026-08-10 ## 0.14.0 — 2026-08-10