릴리즈 노트
opt-datagrid 변경 이력만 따로 모아서 확인할 수 있도록 패키지 기준으로 정리했습니다.
reopt designUpdated
1. 포함 범위
- 이 페이지는
@reopt-ai/opt-datagrid변경만 보여줍니다. - 같은 버전에서
opt-editor가 함께 배포된 경우에도 여기에는 DataGrid 관련 항목만 남깁니다. - 설치, migration, backend contract 변화는 각각 관련 문서에서 함께 확인하면 됩니다.
2. 버전별 변경 이력
v1.34.0
Latest모델이 쓰는 표를 지켜보며 함께 고칩니다.
- +모델이 스트리밍으로 쓰는 표(opt-datagrid)
`./json-render`가 YAML 응답을 행 단위 RFC 6902 패치로 바꾸고 `./stream`이 `DataGrid`에 적용합니다. 기존 값은 제안으로 기다리고, 편집 중인 칸의 값은 충돌로 남으며, 실행 취소는 그 뒤에 고친 칸을 건드리지 않습니다. 수식·서식·색·정렬·필터는 json-render 표현식이라 10만 행도 한 줄이면 되고, 모델이 쓴 내용이 코드로 실행되지 않습니다. 수식으로 안 되는 열은 `useDataGridAIColumn`이 행마다 채웁니다. `@json-render/*` 0.21.4를 선택적 피어로 쓰며, 루트 진입점은 이 피어가 필요 없습니다.
- +`onEditingCellChange`와 `scrollTo({ align: "nearest" })` 추가(opt-datagrid)
- ~칸을 누를 때 페이지가 스크롤되던 문제, `scrollTo`가 끝을 넘으면 빈 띠가 생기던 문제, 활성 고정 칸에 아래 열이 비치던 문제 수정(opt-datagrid)
v1.33.0
행 분할 편집: 펼친 행의 중첩 그리드와 버튼이 부모와 한 키보드 격자로 연결 / keyboardFlow.imeInput: 선택한 셀에 한글·일본어·중국어 바로 입력
- +행 분할 편집: 펼친 행의 중첩 그리드와 버튼이 부모와 한 키보드 격자로 연결(opt-datagrid)
renderRowExpansion, expandedRowIds, onExpandedRowIdsChange, rowExpansionOptions, DataGridActionRow, onEdgeExit, onCellKeyDown, onBeginEdit, column.isEditable, focusEdge, focusCell, toggleRowExpansion, pinnedBottomRows, getRowMarkerLabel, scrollPadding, height "auto"와 keyboardFlow 옵션을 추가했습니다. 모두 선택 사항이라 기존 그리드는 동작이 그대로입니다. 행별 select 옵션, 천 단위 구분 숫자 편집, 에디터 문구 라벨도 추가했습니다. Required<DataGridKeybindings>나 Required<DataGridKeyboardFlowOptions>를 직접 쓰는 TypeScript 코드는 새 필드를 채워야 합니다.
- +keyboardFlow.imeInput: 선택한 셀에 한글·일본어·중국어 바로 입력(opt-datagrid)
그리드 루트는 입력 요소가 아니라 IME가 켜지지 않아 첫 음절이 사라지거나 분리될 수 있었습니다. 이 옵션을 켜면 숨은 입력이 포커스를 대신 갖고, 활성 셀 위에서 조합한 뒤 조합이 끝나면 실제 편집기로 넘깁니다. 스크린리더가 그리드 대신 활성 셀을 가리키는 입력란에 닿으므로 기본은 꺼져 있고, 터치 기기에서는 무시됩니다.
- ~타이핑 첫 글자 유실, 틀 고정 열 밀림, searchable select 목록 등 편집 버그 수정(opt-datagrid)
타이핑으로 편집을 시작할 때 첫 글자가 사라지던 문제, 옆으로 길게 스크롤하면 틀 고정 열과 행 번호가 밀려나던 문제, formatValue가 숫자가 아닌 값을 주면 숫자 에디터가 빈칸으로 열리던 문제, opt-ui 테마에서 활성 옵션이 보이지 않던 문제, 검색을 닫으면 포커스를 잃던 문제, parseInput이 NaN을 줄 때의 무한 루프를 고쳤습니다. searchable select는 열 때 현재 값으로 목록을 좁히지 않습니다. 화살표 키는 이제 에디터의 onKeyDown까지 전달됩니다.
v1.24.0
행 구분선을 유지하면서 바깥 테두리와 열 구분선을 조절할 수 있습니다. / 버전이 있는 행 평가와 서버 전용 TypeSafe Jev 어댑터를 추가했습니다.
- ^행 구분선을 유지하면서 바깥 테두리와 열 구분선을 조절할 수 있습니다.(opt-datagrid)
숫자 열의 제목과 값 정렬을 일치시키고 툴바의 방향키 탐색과 포커스 복귀를 보완했습니다.
- +버전이 있는 행 평가와 서버 전용 TypeSafe Jev 어댑터를 추가했습니다.(opt-datagrid)
범위 제한·취소·오래된 결과 차단·응답 검증·인증된 평가 저장과 복구 예제를 제공합니다.
마이그레이션 가이드
SidebarNav와 RouteFocusManager의 import를 @reopt-ai/opt-ui/next로 변경하세요. 사용자 테마에서 --opt-danger를 지정하면 --opt-danger-solid-fg도 함께 지정하세요.
v1.19.0
v1.18.0
height와 getRowThemeOverride 문서가 소스와 반대였습니다 / DataGridProps 84개 전부에 API 문서 설명 추가
- ~height와 getRowThemeOverride 문서가 소스와 반대였습니다(opt-datagrid)
height는 기본값 420이며 생략해도 컨테이너를 채우지 않습니다(문서는 반대로 적혀 있었고 AI 에이전트 힌트에도 들어가 있었습니다). getRowThemeOverride는 테마 키가 아니라 CSS를 반환하며, 행 배경은 셀이 덮으므로 --opt-surface를 행 스코프로 덮어써야 합니다. 두 상황 모두 트러블슈팅 섹션으로 추가했습니다.
- ^DataGridProps 84개 전부에 API 문서 설명 추가(opt-datagrid)
이전에는 82개 중 1개만 설명이 있었습니다. inspect와 valueCacheMaxRows는 생성 문서에서 통째로 누락돼 있었고 콜백 표에는 설명 컬럼이 없었습니다. 생성된 레퍼런스는 이제 커밋된 docs/02-api/에 위치해 저장소에서도 링크가 해석됩니다.
v1.15.0
DataGridToolbar와 useDataGridToolbar 추가
- +DataGridToolbar와 useDataGridToolbar 추가(opt-datagrid)
별도 ./toolbar 엔트리에서 컬럼 표시, 행 밀도, 전체 화면 상태와 UI를 제공하며 잠긴 식별 컬럼과 제어·비제어 상태를 지원합니다.
DataGridToolbaruseDataGridToolbar
v1.13.0
대용량 데이터 렌더 경로와 value cache를 최적화하고 편집 중에만 오버레이를 마운트
- ^대용량 데이터 렌더 경로와 value cache를 최적화하고 편집 중에만 오버레이를 마운트(opt-datagrid)
마이그레이션 가이드
opt-editor 런타임 스키마 import 변경: `@reopt-ai/opt-editor/server` → `@reopt-ai/opt-editor/schemas`. `@reopt-ai/opt-editor/ai-sdk` import와 type-only export는 변경되지 않습니다.
v1.8.1
@reopt-ai/opt-datagrid@1.4.2 — AI stream invalidation helper 추가
- +@reopt-ai/opt-datagrid@1.4.2 — AI stream invalidation helper 추가(opt-datagrid)
writeDataGridInvalidation/parseDataGridInvalidationPart를 공개하고, remote protocol SSE invalidation 파싱 실패와 EventSource 오류를 onInvalidationError로 보고합니다.
v1.8.0
@reopt-ai/opt-datagrid@1.4.1 — 렌더 성능 개선 및 모바일 레이아웃 프리미티브 정비
- ^@reopt-ai/opt-datagrid@1.4.1 — 렌더 성능 개선 및 모바일 레이아웃 프리미티브 정비(opt-datagrid)
마이그레이션 가이드
opt-harness 사용처는 @reopt-ai/opt-shell로 교체하고 Harness* 식별자를 Shell*로 변경하세요. 하네스 감사 도구는 @reopt-ai/opt-cli의 ./audit에서 import합니다.
v1.7.0
i18n 완전 지원 + Korean locale + opt-devtool inspect snapshot 연계
- +i18n 완전 지원 + Korean locale + opt-devtool inspect snapshot 연계(opt-datagrid)
DataGrid 모든 사용자 노출 문자열을 i18n 모듈로 분리. Korean locale 추가. opt-devtool inspect 패널에서 그리드 상태 스냅샷 노출.
마이그레이션 가이드
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.3.2
opt-datagrid 1.3.0 — view state 관리 및 remote mock workflow 추가
- +view state 훅 (useDataGridViewState) 및 remote protocol 지원 추가(opt-datagrid)
- +remote mock workflow — 개발/테스트용 mock API 인프라(opt-datagrid)
v1.2.0
ARIA 접근성 강화 (aria-readonly, aria-sort, columnSortState) / i18n labels 지원 + 모듈 분할 + 번들 모니터링
- +ARIA 접근성 강화 (aria-readonly, aria-sort, columnSortState)(opt-datagrid)
- +i18n labels 지원 + 모듈 분할 + 번들 모니터링(opt-datagrid)
- +dist/docs 패턴 도입 — npm 패키지에 API 레퍼런스 + 레시피 + 마이그레이션 가이드 포함(opt-datagrid)
- +Next.js 예제 프로젝트 + Playwright E2E 테스트 추가(opt-datagrid)