권한 체계 개편과 SDK 이벤트 변경
permission 중심으로 권한 설정이 바뀌고, SDK와 서버의 권한 이벤트·엔드포인트가 함께 조정되었습니다.
교안에 영향
권한 설정 예시에서 tools와 permission 경로를 따르던 옛 안내 글은 더 이상 맞지 않습니다.
요약
- tools 설정이 deprecated 되고 permission으로 통합되었으며, 기존 tools 설정은 자동 이전됩니다. - permission에 glob 패턴을 쓰는 객체 문법과 전체 허용 문자열 문법이 추가되었습니다. - SDK용 PermissionNext 모듈의 이벤트 구조와 reply 흐름이 바뀌었습니다. - 서버의 권한 응답 엔드포인트, CORS 화이트리스트, 정적 자산 Content-Type 처리, mDNS 서비스명이 변경되었습니다. - Agent, TUI, Desktop, MCP, GitHub Copilot 관련 개선과 여러 버그 수정이 함께 포함되었습니다.
바뀐 것
새 기능
- permission에 glob 패턴을 쓰는 객체 문법으로 bash와 edit에 대해 세부 규칙을 지정할 수 있습니다.
- permission에 단일 문자열을 넣어 allow, deny, ask를 한 번에 지정할 수 있습니다.
- PermissionNext에서 always 필드가 추가되어 항상 허용할 패턴을 저장할 수 있습니다.
- server.cors 설정 옵션으로 CORS 화이트리스트를 지원합니다.
- TUI 디버깅용 개발 스크립트, MCP resources, worktree 초기화, managed git worktrees, Kotlin LSP, per-project MCP config overrides, add /compact session command, Add file context feature to app, Add image preview support in session viewer, Add --variant flag to run command, Add variant support for minimal mode가 추가되
기타
- 새 엔드포인트 POST /permission/:requestID/reply가 추가되고, 기존 POST /session/:sessionID/permissions/:permissionID는 deprecated 되었습니다.
- GET /permission은 PermissionNext.Request[]를 반환하도록 바뀌었습니다.
- 프록시된 정적 자산에 Content-Type 헤더를 추가하고, mDNS 서비스 이름에 포트를 포함하도록 바뀌었습니다.
수정
- tools 설정이 deprecated 되고 permission 필드로 통합되었으며, 기존 tools 설정은 자동으로 permission 체계로 이전됩니다.
- SDK의 PermissionNext 모듈에서 이벤트 구조가 바뀌고 permission.updated가 permission.asked로 변경되었습니다.
- pattern은 patterns 배열로 바뀌고, message는 제거되며, response는 reply로, permissionID는 requestID로 바뀌었습니다.
- Agent tools 필드와 Agent maxSteps 필드는 deprecated 되었고, unknown agent properties는 options로 모읍니다.
- Mode와 plugin globs가 하위 디렉터리를 더 이상 검색하지 않고 최상위만 대상으로 바뀌었습니다.
- 플러그인 로딩, 권한 오류 처리, 메모리 누수, 세션 관리, Gradle 멀티 프로젝트 루트 감지, GitHub Copilot 모델 우선순위, Cloudflare AI Gateway 오류, Windows less fallback, import/stat 명령 처리, Desktop 스크롤·리사이즈·프로젝트 편집·URL 정규화·시작 시간·권한 컨텍스트 디코딩이 수정되었습니다.