릴리즈 노트
opt-editor 변경 이력만 따로 모아서 확인할 수 있도록 패키지 기준으로 정리했습니다.
reopt designUpdated
1. 포함 범위
- 이 페이지는
@reopt-ai/opt-editor변경만 보여줍니다. - 같은 버전에서
opt-datagrid가 함께 배포된 경우에도 여기에는 Editor 관련 항목만 남깁니다. - AI 연동, streaming, custom block 변화는 각 세부 문서와 함께 보면 영향 범위를 더 빨리 파악할 수 있습니다.
2. 버전별 변경 이력
v1.8.2
Latest@reopt-ai/opt-editor@1.0.4 — standalone examples와 editor roundtrip 안정화
- ^@reopt-ai/opt-editor@1.0.4 — standalone examples와 editor roundtrip 안정화(opt-editor)
showcase workflow, markdown/spec roundtrip, operations compiler, block interaction 흐름을 보강하고 API docs 7개 파일을 재생성했습니다.
v1.8.1
@reopt-ai/opt-editor@1.0.3 — AI SDK UI message data-editor-patch 스트림 안정화
- ^@reopt-ai/opt-editor@1.0.3 — AI SDK UI message data-editor-patch 스트림 안정화(opt-editor)
writeEditorPatch/writeEditorPatches가 stable id/transient metadata를 지원하고, useEditorChatBridge가 part id 기준 중복 적용을 방지합니다. AI SDK SSE data part 파싱과 성능 예산 테스트를 추가했습니다.
v1.8.0
@reopt-ai/opt-editor@1.0.2 — structural-sharing 트리 + per-block selection 성능 개선
- ^@reopt-ai/opt-editor@1.0.2 — structural-sharing 트리 + per-block selection 성능 개선(opt-editor)
마이그레이션 가이드
opt-harness 사용처는 @reopt-ai/opt-shell로 교체하고 Harness* 식별자를 Shell*로 변경하세요. 하네스 감사 도구는 @reopt-ai/opt-cli의 ./audit에서 import합니다.
v1.7.0
static-renderer indent를 CSS variable로 토큰화 + opt-inspect → opt-devtool rename + lint 24건 정리
- ^static-renderer indent를 CSS variable로 토큰화 + opt-inspect → opt-devtool rename + lint 24건 정리(opt-editor)StaticRendererEditor Playground
마이그레이션 가이드
1. @reopt-ai/opt-palette를 직접 설치할 필요는 없음 (opt-ui transitively dep). 2. 테마 프리셋 corporate/playful 사용 중이면 mono-dark 또는 다른 프리셋으로 교체. 3. @reopt-ai/opt-ui-cli → @reopt-ai/opt-cli로 패키지 교체 (CLI 진입점은 동일하게 `opt`). 4. data-opt-id 사용 시 ./id-registry sub-export 활용 가능.
v1.6.0
Breaking Changesopt-editor 1.0.0 — diff 모드 정식 추가, suggestion overlay(블록 강조/플로팅 diff), 블록 단위 승인·거절 UX 및 Playground 검증 흐름 강화
- !EditorMode 확장: "stream" | "edit" | "diff" (major)(opt-editor)
소비자 앱의 exhaustive mode 분기(switch 등)에 diff 분기 추가 필요. README/CHANGELOG에 major 변경으로 명시.
EditorEditorProviderEditorMode - +SuggestionDecorations(옵트인) 추가 — 변경 블록 강조, 배지, hover 플로팅 diff 카드(opt-editor)
블록 단위 approve/reject 액션과 i18n 라벨 지원. hover close delay 100ms로 조정해 overlay 사용성 개선.
SuggestionDecorationsEditorstyles.css - +Diff review 흐름 강화 — editor/stream/diff 모드 분리 및 Harness/Devtool 연동(opt-editor)
Playground와 harness adapter에서 diff 시나리오를 검증 가능하게 확장하고, review 중 상태 표시/동작을 정리.
opt-shell adapteropt-devtool bridgeEditor Playground - ~suggestion overlay 동작 안정화 — 지연 닫힘 타이밍 및 테스트 동기화(opt-editor)suggestion-decorations.test.tsx
v1.5.0
opt-editor 0.10.0 — Vercel AI SDK 통합, EditorOperation 추상화, agent mode tool 지원
- +Vercel AI SDK 통합 — /ai-sdk sub-export (useEditorAI, useEditorCompletion, useEditorChatBridge)(opt-editor)
createEditorHandler로 서버 Route Handler 4줄 생성, useEditorAI로 클라이언트 2줄. PatchSource 4종 통합 입력, buildEditorPrompt AI SDK 호환.
useEditorAIuseEditorCompletionuseEditorChatBridgecreateEditorHandler - +EditorOperation 추상화 — insert/update/remove/move 고수준 연산, 마크다운 content, 자동 ID(opt-editor)
OperationCompiler가 EditorOperation → JsonPatchOp[] 변환. catalog 기반 블록 타입 검증, 중첩 children 지원 (list, table).
OperationCompilerOperationStreamCompilercreateOperationStream - +AI SDK agent mode — getDocument + applyEdits tool로 멀티스텝 편집(opt-editor)
createEditorTools로 AI SDK tool 정의 생성. createEditorHandler({ mode: 'agent' })로 tool 기반 피드백 루프. AsyncIterable execute로 스트리밍.
createEditorToolscreateEditorHandler - +스트리밍 블록 진입 애니메이션 — CSS @starting-style(opt-editor)Editor
- ~@starting-style 비중첩 형태로 변환 — 브라우저 호환성 개선(opt-editor)Editor
- -extractSSEText, buildAIMessages deprecated — AI SDK 사용 시 불필요(opt-editor)
buildEditorPrompt()로 대체. extractSSEText는 AI SDK가 SSE 파싱을 처리하므로 불필요.
v1.4.0
opt-editor 0.9.0 — 이미지 편집 버튼 + resourceId 지원, figcaption 너비 버그 수정
- +onImageEdit 콜백 + ImageEditContext — 외부 이미지 편집기(Canva 등) 연동(opt-editor)
floating toolbar에 편집 버튼 추가. onImageEdit 제공 시 이미지가 있는 블록에서 노출. 현재 이미지 context(blockId, src, resourceId, alt, width, height)를 전달하고 편집 결과로 attrs 업데이트.
EditorEditorProviderImageBlock - +resourceId 지원 — ImageAttrs, FileUploadResult에 optional resourceId 필드 추가(opt-editor)
DAM, S3 키, 버전 관리 등 외부 리소스 식별자. HTML: data-resource-id attribute, Markdown: <!-- resource-id: ... --> comment로 직렬화.
ImageBlock - ^onFileRemove에 resourceId 두 번째 파라미터 추가 — 리소스 기반 cleanup 지원(opt-editor)EditorProvider
- ~figcaption 인라인 width가 컨테이너를 넘치는 버그 수정 (max-width: 100%)(opt-editor)ImageBlock
v0.8.0
opt-editor 0.8.0 — 이미지 블록 확장: AI 프롬프트 placeholder, 미디어 라이브러리, 파일 제거 알림, 리사이즈/프리뷰/클립보드 붙여넣기
- +AI 이미지 프롬프트 placeholder (prompt attr + onImageGenerate 콜백)(opt-editor)
AI가 이미지 블록을 생성할 때 실제 URL 대신 prompt를 포함하면, 에디터에 프롬프트 placeholder가 표시되고 소비자가 외부 이미지 생성 서비스로 채울 수 있음
EditorEditorProviderImageBlock - +onImageBrowse 콜백 — 미디어 라이브러리 모달 확장 포인트(opt-editor)EditorProvider
- +onFileRemove 콜백 — 이미지 URL 제거/교체 시 서버 리소스 정리 알림(opt-editor)EditorProvider
- ^이미지 블록 기반 기능: 리사이즈 핸들, 프리뷰 모달, 클립보드 붙여넣기, align 직렬화(opt-editor)ImageBlock
- ^FileUploadResult.alt 필드 추가 — 소비자가 alt 텍스트도 반환 가능(opt-editor)
- ^프롬프트 인라인 편집, dark mode CSS, Markdown roundtrip (image-prompt 코멘트 파싱)(opt-editor)
v1.3.5
opt-editor 0.7.0 — AI Command Menu (Cmd+J), Ghost Text Copilot, Inline Diff View, 멀티턴 대화, 블록 단위 Accept/Reject
- +AI Command Menu — Cmd+J 단축키, 9개 기본 명령 (개선/문법/축약/확장/톤/번역/이어쓰기/요약/설명)(opt-editor)AICommandMenuuseAICommandMenu
- +Ghost Text / Copilot — 커서 뒤 AI 제안 표시, Tab 수락, Cmd+→ 단어 수락(opt-editor)GhostTextOverlayuseGhostText
- +Inline Diff View — 단어 레벨 LCS diff, 삭제선/하이라이트, 블록별 Accept/Reject(opt-editor)InlineDiffViewAIProgressBar
- +멀티턴 AI 대화 — useAIConversation 훅, 대화 히스토리 + 반복 개선(opt-editor)useAIConversation
- +블록 단위 승인/거부 — useAISuggestion에 approveBlock/rejectBlock 추가(opt-editor)
- +인라인 툴바 AI 버튼 + 블록 툴바 AI 액션 + 슬래시 명령 AI 확장(opt-editor)
- +Editor/EditorProvider에 onAIRequest, onGhostTextRequest 콜백 prop(opt-editor)
- +AI i18n 35+ 키 (EN/KO) — 메뉴, 상태, diff, ghost text(opt-editor)
- ~리스트 블록 방향키 탈출 — ArrowUp/Down이 리스트 밖 인접 블록으로 이동(opt-editor)
- ~슬래시 메뉴 / AI 메뉴 키보드 탐색 시 자동 스크롤(opt-editor)
v1.3.4
opt-editor 0.6.0 — AI Agent 통합 (server entry, external stream) + 포괄적 block selection 시스템
- +@reopt-ai/opt-editor/server 진입점 — 서버 안전 AI 헬퍼 (buildSystemPrompt, StreamCompiler 등)(opt-editor)
- +beginExternalStream/endExternalStream — 다중 패치 단일 undo 배칭(opt-editor)
- +catalog.toJSON() + BlockDefinition.component optional — 서버용 스키마 전용 카탈로그(opt-editor)
- +block selection — Ctrl+A, Shift+Click 범위, Ctrl+Click 토글, 마우스 드래그 선택(opt-editor)
- +벌크 작업 — Ctrl+C/X 복사·잘라내기, Delete 벌크 삭제, Ctrl+D 다중 복제(opt-editor)
- +useEditorStream({ mode: 'edit' }) — edit mode에서 forceRender + 자동 external stream 관리(opt-editor)
- ^접근성: aria-selected, 선택 개수 live region announce, i18n blockSelection.count(opt-editor)
v1.3.3
opt-editor 0.5.0 — Provider 기반 i18n (en/ko 내장), SVG 아이콘, 인라인 툴바 아이콘 교체
- +Provider 기반 i18n — EditorMessages 타입, en/ko 내장 로케일, useEditorMessages() 훅(opt-editor)
- +모든 컴포넌트/블록/슬래시 커맨드에 i18n 적용 (68개 키)(opt-editor)
- ~인라인 툴바 이모지를 SVG 아이콘으로 교체 (LinkIcon, CheckIcon, CloseIcon)(opt-editor)
v1.3.1
opt-editor 0.4.0 — 플로팅 인라인 툴바 (Bold/Italic/Code/Strikethrough/Link/Heading 변환)
- +플로팅 인라인 툴바 — 텍스트 선택 시 포맷팅 UI 표시 (Bold, Italic, Code, Strikethrough, Link, H1/H2/H3)(opt-editor)InlineToolbaruseInlineToolbar
- +FormatType에 strikethrough 추가, toggleLink() 함수, Ctrl+Shift+S 단축키(opt-editor)
- ^rAF throttle, ref 기반 위치 측정, 링크 모드 선택 범위 저장, heading level 활성 표시(opt-editor)
- ^block toolbar undo 지원, list indent 개선, slash command 키보드 네비게이션 강화(opt-editor)
v1.3.0
opt-editor 0.3.0 — v2 아키텍처 완성 (inline content 모델, playground mock API, remote backend 가이드)
- +v2 아키텍처 완성 — inline content 모델, rich marks, 테이블 구조, 마크다운 라운드트립(opt-editor)
- +remote backend contract 가이드 추가 (dist/docs)(opt-editor)
v1.2.1
opt-editor 0.2.0 — 실전 마이그레이션에서 발견된 DX 개선 7건
- +EditorSpec.version optional + createEmptySpec() 팩토리 — 소비자 보일러플레이트 제거(opt-editor)
- +BlockRenderProps.editableText() 헬퍼 — 인라인 편집 자동 와이어링, stream/edit 모드 자동 전환(opt-editor)
- +SchemaFieldDef 유니온 타입 — 스키마에 default 값 선언 지원 (AI 프롬프트/JSON Schema 반영)(opt-editor)
- +FocusTarget { position: "start" | "end" } — 문서 시작/끝 포커스 편의 타입(opt-editor)
- ~스킬 문서 실제 타입 동기화 (rootIds→root, block→props)(opt-editor)
v1.2.0
opt-editor 0.1.0 첫 릴리즈 — 스키마 기반 블록 에디터, AI NDJSON 스트리밍, 마크다운 양방향 변환 / dist/docs 인프라 — 14개 문서 (API 자동 생성 7 + 수동 7), 소비자 AI 참조용
- +opt-editor 0.1.0 첫 릴리즈 — 스키마 기반 블록 에디터, AI NDJSON 스트리밍, 마크다운 양방향 변환(opt-editor)
- +dist/docs 인프라 — 14개 문서 (API 자동 생성 7 + 수동 7), 소비자 AI 참조용(opt-editor)
- +opt-editor-init/upgrade/migrate 스킬 3종 추가 (Plate→opt-editor 마이그레이션 포함)(opt-editor)