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:
parent
f3973202eb
commit
3e8171ffda
29
CHANGELOG.md
29
CHANGELOG.md
|
|
@ -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 manager’s 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
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue