{"schemaVersion":1,"id":"2025-11-20-biome-ultracite","status":"draft","source":{"kind":"entry-mdx","path":"apps/www/src/registry/changelog/entries/2025-11-20-biome-ultracite.mdx"},"change":{"type":"pull_request","date":"2025-11-20","commits":[{"sha":"20bcd2509f68494022a97ec18e04f823ebe3439b","shortSha":"20bcd2509f","url":"https://github.com/udecode/plate/commit/20bcd2509f68494022a97ec18e04f823ebe3439b","date":"2025-11-19","committedAt":"2025-11-19T10:42:29+01:00","subject":"lint"}],"pullRequest":{"number":4732,"url":"https://github.com/udecode/plate/pull/4732","state":"MERGED","title":"Biome ultracite","mergedAt":"2025-11-20T16:12:06Z"}},"release":{"status":"released","tag":"v51.1.2","source":"release-index-pr-match","packageTag":"platejs@51.1.2","requiresPlate":">=51.1.2","changelogUrl":"https://github.com/udecode/plate/blob/9884869c2507c0e44cdda8ea595adf0ada5fd798/packages/plate/CHANGELOG.md","url":"https://github.com/udecode/plate/pull/4734","versionPackagePullRequest":{"number":4734,"url":"https://github.com/udecode/plate/pull/4734"}},"kind":"mixed","summary":"Biome ultracite","targets":[{"name":"ai-api","files":["apps/www/src/registry/app/api/ai/command/prompt/common.ts","apps/www/src/registry/app/api/ai/command/prompt/getChooseToolPrompt.ts","apps/www/src/registry/app/api/ai/command/prompt/getCommentPrompt.ts","apps/www/src/registry/app/api/ai/command/prompt/getEditPrompt.ts","apps/www/src/registry/app/api/ai/command/prompt/getEditTablePrompt.ts","apps/www/src/registry/app/api/ai/command/prompt/getGeneratePrompt.ts","apps/www/src/registry/app/api/ai/command/prompt/index.ts","apps/www/src/registry/app/api/ai/command/route.ts","apps/www/src/registry/app/api/ai/command/utils.ts"],"definitionFiles":["apps/www/src/registry/registry-components.ts"],"diagnostics":[]},{"name":"copilot-api","files":["apps/www/src/registry/app/api/ai/copilot/route.ts"],"definitionFiles":["apps/www/src/registry/registry-components.ts"],"diagnostics":[]},{"name":"ai-menu","files":["apps/www/src/registry/components/editor/ai-menu.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"ai-kit","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for ai-kit."}]},{"name":"use-chat","files":["apps/www/src/registry/components/editor/use-chat.ts"],"definitionFiles":["apps/www/src/registry/registry-components.ts"],"diagnostics":[]},{"name":"cursor-overlay","files":["apps/www/src/registry/components/editor/cursor-overlay.tsx"],"definitionFiles":["apps/www/src/registry/registry-features.ts"],"diagnostics":[]},{"name":"block-placeholder-kit","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for block-placeholder-kit."}]},{"name":"block-selection-kit","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for block-selection-kit."}]},{"name":"discussion-kit","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for discussion-kit."}]},{"name":"tabbable-kit","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for tabbable-kit."}]},{"name":"transforms","files":["apps/www/src/registry/components/editor/transforms.ts"],"definitionFiles":["apps/www/src/registry/registry-components.ts"],"diagnostics":[]},{"name":"transforms-classic","files":["apps/www/src/registry/components/editor/transforms-classic.ts"],"definitionFiles":["apps/www/src/registry/registry-components.ts"],"diagnostics":[]},{"name":"markdown-joiner-transform","files":["apps/www/src/registry/lib/markdown-joiner-transform.ts"],"definitionFiles":["apps/www/src/registry/registry-lib.ts"],"diagnostics":[]},{"name":"block-discussion","files":["apps/www/src/registry/components/editor/block-discussion.tsx","apps/www/src/registry/lib/block-discussion-index.ts"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"block-draggable","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for block-draggable."}]},{"name":"block-list","files":["apps/www/src/registry/components/editor/block-list.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"callout-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for callout-node."}]},{"name":"code-block-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for code-block-node."}]},{"name":"code-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for code-node."}]},{"name":"column-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for column-node."}]},{"name":"editor","files":["apps/www/src/registry/components/editor/editor.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"emoji-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for emoji-node."}]},{"name":"emoji-toolbar-button","files":["apps/www/src/registry/components/editor/emoji-toolbar-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"equation-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for equation-node."}]},{"name":"fixed-toolbar","files":["apps/www/src/registry/components/editor/fixed-toolbar.tsx"],"definitionFiles":["apps/www/src/registry/registry-features.ts"],"diagnostics":[]},{"name":"floating-toolbar","files":["apps/www/src/registry/components/editor/floating-toolbar.tsx"],"definitionFiles":["apps/www/src/registry/registry-features.ts"],"diagnostics":[]},{"name":"font-color-toolbar-button","files":["apps/www/src/registry/components/editor/font-color-toolbar-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"font-size-toolbar-button","files":["apps/www/src/registry/components/editor/font-size-toolbar-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"heading-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for heading-node."}]},{"name":"inline-combobox","files":["apps/www/src/registry/components/editor/inline-combobox.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"insert-toolbar-button","files":["apps/www/src/registry/components/editor/insert-toolbar-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"insert-toolbar-classic-button","files":["apps/www/src/registry/components/editor/insert-toolbar-classic-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"link-toolbar","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for link-toolbar."}]},{"name":"list-classic-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for list-classic-node."}]},{"name":"list-classic-toolbar-button","files":["apps/www/src/registry/components/editor/list-classic-toolbar-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"media-embed-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for media-embed-node."}]},{"name":"media-image-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for media-image-node."}]},{"name":"media-placeholder-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for media-placeholder-node."}]},{"name":"media-preview-dialog","files":["apps/www/src/registry/components/editor/media-preview-dialog.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"media-toolbar","files":["apps/www/src/registry/components/editor/media-toolbar.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"media-toolbar-button","files":["apps/www/src/registry/components/editor/media-toolbar-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"media-video-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for media-video-node."}]},{"name":"mention-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for mention-node."}]},{"name":"mode-toolbar-button","files":["apps/www/src/registry/components/editor/mode-toolbar-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"remote-cursor-overlay","files":["apps/www/src/registry/components/editor/remote-cursor-overlay.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"resize-handle","files":["apps/www/src/registry/components/editor/resize-handle.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"select-editor","files":["apps/www/src/registry/components/editor/select-editor.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"suggestion-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for suggestion-node."}]},{"name":"table-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for table-node."}]},{"name":"table-toolbar-button","files":["apps/www/src/registry/components/editor/table-toolbar-button.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"tag-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for tag-node."}]},{"name":"toc-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for toc-node."}]},{"name":"toc-node-static","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for toc-node-static."}]},{"name":"toggle-node","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for toggle-node."}]},{"name":"toggle-node-static","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for toggle-node-static."}]},{"name":"toolbar","files":["apps/www/src/registry/bases/base/toolbar.tsx","apps/www/src/registry/bases/radix/toolbar.tsx"],"definitionFiles":["apps/www/src/registry/registry-editor.ts"],"diagnostics":[]},{"name":"ai-demo","files":["apps/www/src/registry/examples/demo.tsx","apps/www/src/registry/examples/values/ai-value.tsx"],"definitionFiles":["apps/www/src/registry/registry-examples.ts"],"diagnostics":[]},{"name":"collaboration-demo","files":["apps/www/src/registry/examples/collaboration-demo.tsx"],"definitionFiles":["apps/www/src/registry/registry-examples.ts"],"diagnostics":[]},{"name":"controlled-demo","files":["apps/www/src/registry/examples/controlled-demo.tsx"],"definitionFiles":["apps/www/src/registry/registry-examples.ts"],"diagnostics":[]},{"name":"hundreds-blocks-demo","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for hundreds-blocks-demo."}]},{"name":"image-pro-demo","files":["apps/www/src/registry/examples/image-pro-demo.tsx"],"definitionFiles":[],"diagnostics":[]},{"name":"markdown-streaming-demo","files":["apps/www/src/registry/examples/markdown-streaming-demo.tsx"],"definitionFiles":["apps/www/src/registry/registry-examples.ts"],"diagnostics":[]},{"name":"preview-markdown-demo","files":["apps/www/src/registry/examples/preview-markdown-demo.tsx","apps/www/src/registry/examples/values/preview-md-value.tsx"],"definitionFiles":["apps/www/src/registry/registry-examples.ts"],"diagnostics":[]},{"name":"pro-iframe-demo","files":["apps/www/src/registry/examples/pro-iframe-demo.tsx"],"definitionFiles":["apps/www/src/registry/registry-examples.ts"],"diagnostics":[]},{"name":"plite-to-html","files":[],"definitionFiles":[],"diagnostics":[{"severity":"warning","code":"registry-file-missing","message":"No exact registry source file found for plite-to-html."}]},{"name":"version-history-demo","files":["apps/www/src/registry/examples/version-history-demo.tsx"],"definitionFiles":["apps/www/src/registry/registry-examples.ts"],"diagnostics":[]},{"name":"fumadocs-mdx-components","files":["apps/www/src/registry/blocks/fumadocs/fumadocs-mdx-components.tsx"],"definitionFiles":[],"diagnostics":[]},{"name":"mdx-plate-components","files":["apps/www/src/registry/blocks/fumadocs/mdx-plate-components.tsx"],"definitionFiles":[],"diagnostics":[]}],"entries":[{"id":"2025-11-20-26-11-ai-api-format-copied-registry-files-dad0c3be","kind":"behavior","summary":"Format copied AI registry files for Biome and Ultracite compatibility.","details":[],"migrationNotes":[],"targets":["ai-api","copilot-api","ai-menu","ai-kit","use-chat","cursor-overlay"],"source":{"line":50,"row":1,"legacyRelease":{"date":"2025-11-20","entry":"26.11","section":"November 2025 #26"}}},{"id":"2025-11-20-26-11-block-placeholder-format-copied-editor-kits-8cfd039a","kind":"behavior","summary":"Format copied editor kits and transforms for Biome and Ultracite compatibility.","details":[],"migrationNotes":[],"targets":["block-placeholder-kit","block-selection-kit","discussion-kit","tabbable-kit","transforms","transforms-classic","markdown-joiner-transform"],"source":{"line":52,"row":2,"legacyRelease":{"date":"2025-11-20","entry":"26.11","section":"November 2025 #26"}}},{"id":"2025-11-20-26-11-block-discussion-format-copied-ui-components-07b227ef","kind":"fix","summary":"Format copied UI components for Biome and Ultracite compatibility.","details":[],"migrationNotes":[],"targets":["block-discussion","block-draggable","block-list","callout-node","code-block-node","code-node","column-node","editor","emoji-node","emoji-toolbar-button","equation-node","fixed-toolbar","floating-toolbar","font-color-toolbar-button","font-size-toolbar-button","heading-node","inline-combobox","insert-toolbar-button","insert-toolbar-classic-button","link-toolbar","list-classic-node","list-classic-toolbar-button","media-embed-node","media-image-node","media-placeholder-node","media-preview-dialog","media-toolbar","media-toolbar-button","media-video-node","mention-node","mode-toolbar-button","remote-cursor-overlay","resize-handle","select-editor","suggestion-node","table-node","table-toolbar-button","tag-node","toc-node","toc-node-static","toggle-node","toggle-node-static","toolbar"],"source":{"line":54,"row":3,"legacyRelease":{"date":"2025-11-20","entry":"26.11","section":"November 2025 #26"}}},{"id":"2025-11-20-26-11-ai-format-copied-registry-demos-697d1f15","kind":"behavior","summary":"Format copied registry demos and block examples for Biome and Ultracite compatibility.","details":[],"migrationNotes":[],"targets":["ai-demo","collaboration-demo","controlled-demo","hundreds-blocks-demo","image-pro-demo","markdown-streaming-demo","preview-markdown-demo","pro-iframe-demo","plite-to-html","version-history-demo","fumadocs-mdx-components","mdx-plate-components"],"source":{"line":56,"row":4,"legacyRelease":{"date":"2025-11-20","entry":"26.11","section":"November 2025 #26"}}}],"diagnostics":[]}