권한 확인이 더 이상 자체적으로 비활성화될 수 없습니다. 5.1.13까지는 권한 시스템 시작 중 오류가 발생하면(설정이나 명령줄에 잘못된 permissionPreset, null 권한 규칙, 또는 읽을 수 없는 승인 파일), 모든 도구 호출이 권한 확인 없이 실행되었으며 아무것도 이를 알리지 않았습니다. 5.1.14는 senpi 2026.10.5에서 실행되며, 이는 설정이 수정될 때까지 Permission setup failed: <reason>으로 도구 호출을 거부합니다. 아직 업데이트할 수 없다면 permissionPreset이 존재하는 프리셋을 이름으로 지정하고 권한 규칙이 null이 아닌지 확인하세요. (senpi#2617, senpi#2618)
Fixed
엄격한 스키마 게이트웨이가 거부하는 첫 턴 강제 도구 호출이 더 이상 턴을 종료하지 않습니다. 게이트웨이가 400으로 응답하고 강제 도구를 이름 지을 때(이의 tools.N 위치 또는 따옴표로 묶인 이름), 요청은 강제 없이 한 번 재시도됩니다. 일반적인 400 또는 다른 도구를 이름 짓는 경우는 이전처럼 실패합니다. 보고해주신 @rhyme227님께 감사합니다. (#9507, senpi#2648)
apply_patch는 각 파일의 줄 끝 처리를 유지하고 더 이상 들여쓰기된 파일 섹션을 삭제하지 않습니다. CRLF 및 혼합 줄 끝 파일이 더 이상 LF로 다시 작성되지 않으며, 패치에서 들여쓰기된 파일 헤더가 도구가 성공을 보고하는 동안 건너뛰어지는 대신 적용됩니다. (senpi#2638, senpi#2636)
NVIDIA 전용 설정이 카탈로그에 여전히 나열된 모델에서 시작됩니다. 이전의 NVIDIA 기본값이 업스트림에서 폐기되었습니다. 기본값은 이제 nvidia/nemotron-3-ultra-550b-a55b입니다. (senpi#2645)
Codex 에디션(LazyCodex): 설치되지 않은 언어 서버가 더 이상 모든 편집을 차단하지 않습니다. LazyCodex의 편집 후 언어 서버 확인이 설치를 거부한 후에도 각 편집에서 설치 가이드와 함께 block으로 응답했습니다. 이제 네이티브 에디션처럼 설치 결정을 따릅니다. (#9509, #9510)
컴퓨터 사용 권한 거부도 코드 모드의 오류입니다. JS 또는 Python eval을 통해 거부된 컴퓨터 호출이 오류 플래그 없이 돌아왔으므로, 모델은 거부를 놓치고 계속 행동할 수 있었습니다. 이제 직접 호출처럼 거기서 호출을 실패합니다. (#9475, #9482)
Windows: 당신이 강제 종료한 위임된 작업이 충돌이 아닌 강제 종료로 보고되며, 메모리가 더 이상 잠시 유지된 파일에 대한 상태 쓰기를 잃지 않습니다. 강제 종료는 이제 자식의 stderr 대신 러너 자체의 요청에서 인식되며, 메모리의 원자적 상태 이름 바꾸기는 Windows가 열린 대상에 배치하는 몇 밀리초 유지를 재시도합니다. (#9471, #9501, #9491)
macOS의 컴퓨터 사용 의사 확인이 응답하지 않은 엔진을 EPERM으로 실패하는 대신 타임아웃으로 보고합니다. 타임아웃된 프로브를 정리할 때 이미 종료 중인 프로세스 그룹을 사라진 것으로 처리합니다. 기여해주신 @MoerAI님께 감사합니다. (#9422, #9464)
작업 엔진의 자식 이벤트 채널을 senpi-task로 이동한 @MoerAI님께 감사합니다. 컴퓨터 사용 컴포넌트가 이제 여기서 가져옵니다. (#9454, #9467)
Changed
omo는 senpi 2026.10.5에서 실행됩니다(2026.10.4를 통해): 위의 권한 수정; eval 커널(Python, Ruby 또는 Julia)의 인터프리터가 사망하면 모든 이후 셀이 실패하는 대신 한 번 교체됨; 유휴 공유 호스트가 비용을 반환함; Claude Agent SDK가 0.3.288로 이동; 괄호 붙은 붙여넣기 마커 없는 터미널에 붙여넣기가 작동함. 전체 목록: senpi 2026.10.4, senpi 2026.10.5.
작업 도구가 더 이상 몇 가지 읽기나 작은 전경 확인의 위임을 제안하지 않습니다. 그 설명과 ultrawork 라우팅이 이들을 위임 대상으로 이름 지었으며, GPT-6 Astra가 이들을 문자 그대로 따라 몇 번의 호출로 할 수 있는 작업에 대해 자식을 기다렸습니다. (#9499, #9500)
Added
브라우저 스킬이 OmO 데스크톱 앱이 세션에 선택한 브라우저를 따릅니다. 연결된 브라우저를 사용하면 그 브라우저만 사용하고 누락되면 "브라우저 연결"이라고 표시합니다. 인앱 브라우저 또는 선택되지 않은 것을 사용하면 자신의 브라우저를 구동하기를 거부합니다. 브라우저가 무엇을 하고 있는지 보고하고 자신의 브라우저에서 돌이킬 수 없는 작업 전에 요청합니다. 터미널에서는 변경 사항이 없습니다. (#9486, #9502)
채팅 커넥터 및 기타 통합이 세션 게이트웨이 데이터베이스에서 자신의 상태를 유지할 수 있으며 메시지 전송, 바인딩 또는 승인과 동일한 트랜잭션에서 업데이트할 수 있습니다. 세션 게이트웨이 스토어는 네임스페이스된 확장을 지원합니다: 컴파일된 작업이 등록된 객체를 업데이트하고 바인딩을 통해 메시지를 대기열에 추가하거나, 대화를 바인딩하거나, 아웃박스 행을 한 트랜잭션에서 승인할 수 있습니다. 영구 소유권 레지스트리가 코어 및 기타 확장의 객체를 보호합니다. 이름 접두사 일치는 액세스 권한을 부여하지 않습니다. 코어와 충돌하는 이름, 트리거 및 뷰가 거부됩니다. 마이그레이션은 프로세스 간에 조정되며, 금지된 스키마 변경은 롤백되고, 결합된 대기열 추가는 트랜잭션 내에서 웨이크 마커를 생성하므로 롤백이 이를 제거합니다. 실패는 워커를 중지하지 않고 타입화된 거부를 반환합니다. 코어 스키마 v6은 확장 레지스트리를 추가하고, 기존 행을 유지하며 author.user_id를 nullable deliveries.actor_user_id로 기록합니다. (#9331, 참조 #9143)
스키마가 실행 중인 omo보다 최신인 세션 게이트웨이 스토어 또는 스토어 확장이 gateway_schema_too_new로 거부되고 건드려지지 않은 상태로 유지됩니다: 이전 바이너리는 마이그레이션하지 않으며 코어 user_version을 낮추지 않고, 저장된 버전보다 적은 마이그레이션을 등록하는 확장이 저장된 버전, 데이터 및 기존 등록을 유지합니다. (#9331)
- 2afeed8 Merge pull request #9519 from code-yeongyu/release/v5.1.14-source-state
- c6992fd docs(changelog): credit #9464 and #9467 in 5.1.14
- e94eb88 Merge pull request #9464 from MoerAI/fix/9422-probe-group-eperm
- 2beda8e Merge pull request #9467 from MoerAI/fix/9454-child-extension-event-owner
- e5e6925 Merge remote-tracking branch 'origin/dev' into fix/9454-child-extension-event-owner
- 9270b06 Merge remote-tracking branch 'origin/dev' into fix/9422-probe-group-eperm
- e498c81 Merge pull request #9121 from MoerAI/fix/9119-mock-toolcall-partial
- 6ff21c8 Merge remote-tracking branch 'origin/dev' into fix/9119-mock-toolcall-partial
- 4fef77b Merge pull request #9510 from code-yeongyu/fix/9509-codex-lsp-not-installed-nonblocking
- bc3d91e fix(omo-codex): don't block an edit because a language server is not installed (#9509)
- f96e400 Merge pull request #9491 from code-yeongyu/fix/9471-memory-rename-contention
- 251cbfe Merge pull request #9511 from code-yeongyu/test/9495-print-eval-result
- 430a154 Merge remote-tracking branch 'origin/dev' into fix/9471-memory-rename-contention
- ae69671 Merge pull request #9501 from code-yeongyu/fix/9471-runner-records-its-kill
- 3d9102c test(computer-use): show the eval result when a py denial never reaches capture
- 0cb91b8 Merge remote-tracking branch 'origin/dev' into fix/9471-runner-records-its-kill
- d5126a2 Merge pull request #9502 from code-yeongyu/dfa/9486-browser-skill-engine
- 21782e3 fix(browser): close the owned-engine and message-box gaps found in review
- bed820c test(browser): guard a session class that keeps private state
- 13ce21d feat(browser): obey the session's browser engine, report state, ask before irreversible actions
- 31cd7ce Merge pull request #9478 from code-yeongyu/fix/gateway-store-extensions-review-nits
- ea30c6a docs(thread): v6 extension registry, in-transaction wake markers, and drop the unread services resolve
- 81d1271 Merge pull request #9331 from code-yeongyu/feat/session-gateway-store-extensions
- c19eebc docs(changelog): keep the store extension entries under [Unreleased] after 5.1.13
- 95dc4ff test(thread): give the CREATE_TRIGGER authorizer test an explicit 15 s budget
- c66bf0e test(thread): dispose the reopened store before removing its directory in the wake-marker tests
- aef58b5 fix(thread): resolve an extension call's target without asking the store it runs in
- 5a0e6df test(thread): expect schema version 6 after the extension migration slot joins v5
- f94b64a fix(thread): keep the send path's single-lookup resolver alongside the shared extension resolver
- 54a302d test(thread): give wake-driver stores a resolver and real migrations
- 22f7043 fix(thread): absorb late extension errors as store events
- 25f7136 fix(thread): commit joined wake markers inside the transaction
- bd6c00d test(thread): prove joined wake markers and late extension errors are unsafe
- 5cc5520 test(thread): refuse malformed trigger text at the authorizer's CREATE_TRIGGER branch
- d35cbde fix(thread): reach node:sqlite only through the store worker's lazy import
- ce95db7 fix(thread): replay a closed binding's delivered events through joined extension calls
- 203ae46 test(thread): keep the receipt batch and binding keys under joined extension sweeps
- 8492d72 docs(thread): extension lock budget, downgrade refusal and retention
- fd655e9 fix(thread): keep the retention sweep hourly for extension calls
- dfda2df fix(thread): restore extension registrations on a fresh store worker
- bd9eda6 fix(thread): resolve extension targets without a tool-surface store after rebasing
- 52af902 fix(thread): refuse extension schema downgrades without mutating registration
- 791a3f4 test(thread): exercise direct authorization and document transaction boundaries
- 1e2f2f4 test(thread): preserve historical v4 writes against a v5 store
- 377fea3 fix(thread): refuse unsupported newer core schemas without mutation
- 5323423 fix(thread): normalize object ownership and namespace registration order
- d09d26c fix(thread): tokenize SQL placeholders without rewriting literals
- f152372 fix(thread): refuse uncloneable arguments without losing the worker
- 26907ab fix(thread): share target resolution and isolate postcommit effects
- f9d554a fix(thread): bound extension operations and revoke stale transactions
- e1db9cf fix(thread): own automatic indexes by their extension table
- 78d3f04 fix(thread): persist extension ownership and reject indirect schema access
- 55c803a feat(thread): run store extensions in joined worker transactions
- ab2546e feat(thread): define store extension contract and persist actor identity
- 12b986e Merge pull request #9500 from code-yeongyu/fix/9499-task-tool-delegation-wording
- 75e8eb3 fix(memory-core): retry a rename Windows refuses while the target is briefly held
- fc23b5c fix(task): stop describing few-read investigations and small foreground children as delegation targets
- eff0416 Merge pull request #9490 from code-yeongyu/test/engine-delivery-table-budget
- 4ae5e47 Merge pull request #9496 from code-yeongyu/fix/9487-settle-waited-bound
- c8fef3e test(thread): assert the store's lock-wait give-up rule, not a wall-clock ceiling (#9487)
- 5f82c5e Merge pull request #9482 from code-yeongyu/fix/9475-code-mode-denial-is-error
- 74d81c4 fix(desktop-tool): a computer permission denial is an error in code mode too (#9475)
- e022b93 test(desktop-tool): a computer permission denial must surface inside details (#9475)
- fdc521e Merge pull request #9480 from code-yeongyu/fix/f2-move-only
- 22ba376 test(thread): give the fifteen-case delivery table an explicit 30 s budget
- 1e5a18b fix(computer-use): treat EPERM on the timed-out probe group as already gone (fixes #9422)
커뮤니티 기여자 2명께 감사합니다:
- @MoerAI:
- fix(computer-use): treat EPERM on the timed-out probe group as already gone (fixes #9422)
- Merge remote-tracking branch 'origin/dev' into fix/9119-mock-toolcall-partial
- @effortprogrammer:
- fix(thread): resolve an extension call's target without asking the store it runs in
bun add -g omo-ai