/compact(및 자동 컴팩션)가 /clear 이전의 대화 턴을 복구하는 문제를 수정했습니다. prepareCompaction이 이제 최신 reset_boundary를 존중하므로, 제자리 /clear 후의 컴팩션은 리셋 이후에 생성된 메시지만 요약합니다 (#8718).<conversation>/<previous-summary> 경계 태그를 무효화합니다 (#8727 by @koopmannleon19977-cmyk).503을 포함하는 아티팩트 ID는 더 이상 하드 400을 일시적이라고 잘못 분류하지 않습니다.buildOpenAiNativeHistory가 이제 도구 호출 배치와 그 출력 사이에 끼어 있는 어시스턴트 message를 배치 앞으로 끌어올리므로, 엄격한 opencode-go 게이트웨이에 대한 컴팩션 요청이 정규 message(s) → calls → outputs 순서와 일치합니다 (#8789).```thinking / ``````thinking 펜스 구분자를 추론 블록으로 누출하는 문제를 수정했습니다. 이제 생각 표시나 지속된 기록에서 펜스 스팸으로 나타나지 않습니다 (#8719).opencode.ai/auth 콘솔은 업스트림 문서에 따라 여전히 공유됩니다) (#8738).api.z.ai/api/anthropic, 400 code 1213 "The prompt parameter was not received normally"로 전체 요청을 거부)가 도구가 비전 가능 모델에서 빈 출력을 반환한 후 세션을 실패시키는 문제를 수정했습니다. 빈 성공한 tool_result 블록은 이제 content: [] 대신 content: ""로 인코딩되며, 공식 API와 엄격한 호환 엔드포인트 모두 이를 허용합니다.retry.usageReservePct(예약 마진)이 Claude Fable/Mythos 주간 계층 사용을 100%에 도달할 때까지 무시하는 문제를 수정했습니다. Fable 모델은 구성된 예약을 초과하여 턴을 계속 제공했습니다. 예약 상태는 이제 매핑된 계층 행을 존중하는 한편, 자격증명 범위 하드 블록은 여전히 확인된 소진이 필요합니다 (#8773).cursor-agent 스트림이 Cursor가 클라이언트에게 호스팅된 WebFetch/웹 검색을 승인하도록 요청할 때 "Provider stream stalled while waiting for the next event" 오류로 멈추는 문제를 수정했습니다(cursor-grok-4.6-xhigh에서 "I'll fetch the page…" 후 재현). 이러한 interaction_query 프레임(이 프로토콜이 명명하지 않은 더 새로운 WebFetch 필드 9 포함)이 삭제되어 서버가 영원히 대기했고 유휴 워치독이 라이브 연결을 중단했습니다. 권한 쿼리는 이제 응답되고, 호스팅된 검색/가져오기가 승인되며, 명명되지 않은 권한 필드는 같은 필드 번호에서 approved 응답을 받으며, 이 클라이언트가 제공할 수 없는 프롬프트는 거부되어 턴이 계속됩니다.enable_thinking만 전환했으므로, 채팅 템플릿은 선택한 레벨과 관계없이 항상 xhigh 기본값으로 추론했습니다. 인코더는 이제 요청된 노력을 템플릿의 reasoning_effort kwarg(chat_template_kwargs는 두 Qwen 방언의 경우, 그리고 최신 llama.cpp 빌드가 기본적으로 매핑하는 최상위 필드)로 라우팅합니다.onPayload 대체 페이로드를 무시하는 문제를 수정했습니다. 후크는 이제 이들 제공자의 업스트림으로 전송된 실제 요청 본문을 변환하며, Anthropic/Gemini/OpenAI Responses 대체 계약과 일치합니다. devin-agent는 여전히 후크를 발생시키지 않습니다(해당 페이로드는 protobuf 객체입니다).token에서 challenge_token으로 이름 변경한 후의 문제를 수정했습니다.minimal이 이제 API가 HTTP 400으로 거부하는 MINIMAL 대신 별칭 -low SKU에서 thinkingLevel: LOW를 전송합니다.interaction_query 권한 게이트(호스팅된 웹 검색, Exa, 명명되지 않은 필드-9 WebFetch)에 응답하여 Run RPC가 300초 유휴 워치독까지 침묵하지 않도록 합니다.questions[0].id)를 가지고 도착하여 인수 유효성 검사에 의해 제거되고 거부되는 문제를 수정했습니다. 잘 형성된 평탄화된 경로는 이제 도구 스키마가 예상하는 중첩 배열로 재구성됩니다 (#8886).400 No tool output found for tool call …로 Responses 턴을 거부하는 문제를 수정했습니다(buildResponsesInput은 해당 블록을 function_call 배치와 function_call_output 항목 사이에 끼어 있는 어시스턴트 message 항목으로 내보냈습니다). 이러한 인터리브된 메시지는 이제 호출 배치 앞으로 끌어올려지며(정규 message(s) → calls → outputs), 엄격한 게이트웨이 유효성 검사기가 허용합니다. 내용은 변경되지 않습니다 (#8789).rate_limit_type: max_parallel_requests, Retry-After: 60)에서 휴면 상태이고 세션 복구가 오류를 보기 전에 최대 6회(~300초) 재시도하는 문제를 수정했습니다. 60초 힌트가 전송의 maxDelayMs 상한과 같으므로, fetchWithRetry는 계속 휴면 상태이고 재시도했습니다. 요청은 이제 첫 번째 시도에서 표시되어 TurnRecovery의 동시성 백오프/모델 폴백이 신속하게 실행됩니다. 정상적인 RPM/할당량 429(그러한 마커 없음)는 여전히 Retry-After를 존중합니다 (#8854).localhost:1455 및 모든 localhost 콜백 플로우)이 커널에서 IPv6가 비활성화된 호스트에서 실패하는 문제를 수정했습니다(ipv6.disable=1). #8081에서 추가된 ::1 컴패니언 리스너는 Bun의 일반 "Is port X in use?" 메시지로 실패합니다 (oven-sh/bun#7187). 사용 중 검사가 이를 실제 충돌로 잘못 읽어 건강한 IPv4 리스너를 제거하고 허위 "port 1455 is in use" 오류를 표시했습니다. 이중 바인드 경로는 이제 누락된 IPv6 루프백을 미리 감지하고 IPv4만 제공합니다 (#8814).cursor-grok-4.5 low/medium/high 및 cursor-grok-4.6 low/medium/high/xhigh, 그리고 -fast 서비스 계층 레인 포함)를 노력 라우팅이 라이브 wire id로 되는 레인당 하나의 논리적 모델로 폴드합니다. Devin의 grok-4-5 축소와 일치합니다 (#8803).interaction_query / interaction_response 필드 9)와 일치하는 ToolCall 변형(필드 37)을 모델링하기 위해 Cursor 에이전트 프로토버프를 재생성했습니다.models.db(SQLITE_CORRUPT* / SQLITE_NOTADB, "database disk image is malformed")가 모델 캐시를 영구적으로 비활성화하는 문제를 수정했습니다. 공유 읽기/쓰기 경로는 복구 불가능한 SQLite 손상을 최선의 노력 미스로 삼켰고 손상된 핸들을 캐시했습니다. 따라서 성공적인 라이브 카탈로그가 손상된 캐시를 덮어쓸 수 없었고 나중의 모든 프로세스는 미스를 반복했습니다. 번들 카탈로그가 없는 런타임 제공자 확장은 부트스트랩 모델만 남겨졌습니다. 손상은 이제 자가 치유됩니다. 캐시는 핸들을 닫고 models.db(+-wal/-shm)를 격리하고 신선한 데이터베이스를 재생성하고 작업을 한 번 재시도합니다. SQLITE_BUSY, 권한 및 관련 없는 오류는 기존 최선의 노력 경로를 유지합니다 (#8867).minimal..high 생각 사다리 대신 채팅 템플릿의 실제 low/medium/xhigh reasoning_effort 계층을 노출하는 문제를 수정했습니다. 파생 메타데이터는 이제 생각을 필수로 표시하고(공식 3.8 템플릿은 enable_thinking: false에서 발생), vLLM 제공 Qwen은 chat_template_kwargs 방언을 통해 라우팅되고(최상위 enable_thinking은 vLLM에서 무시됨), vLLM 검색은 /v1/models 엔드포인트가 비추론으로 보고하는 Qwen 3.8+ id에 대해 추론 다이얼을 켭니다.deepseek-v4-pro-0813이 Alibaba Token Plan 검색에서 contextWindow/maxTokens가 null인 상태로 나타나는 문제를 수정했습니다. 날짜가 지난 DeepSeek V4 Pro 스냅샷이 ALIBABA_TOKEN_PLAN_DISCOVERED_MODEL_LIMITS에서 누락되었으므로, deepseek-v4-flash-0731 형제와 달리 알려지지 않은 제한으로 떨어졌습니다 (#8847).-low SKU에 별칭으로 지정되었을 때 더 이상 사용자 minimal을 wire thinkingLevel: MINIMAL로 매핑하지 않습니다. 요청은 이제 이들 SKU가 허용하는 LOW를 전송합니다.xai-oauth) Grok 4.6이 생각 레벨 선택기를 숨기는 문제를 수정했습니다. Responses 노력 가능 허용 목록은 이제 grok-4.6을 포함하므로, /model은 문서화된 low/medium/high/xhigh 사다리를 선택할 수 있습니다(max는 api.x.ai에 의해 거부됩니다).-wm SKU만 광고할 때 이제 일반 모델 경로도 등록하므로, 구성된 openai-codex/<model>은 일부 계정이 거부하는 -wm SKU로 퍼지한 폴백 대신 계속 확인합니다.opencode-go/muse-spark-1.2(및 muse-spark-1.2-contributor)가 OpenAI completions stream closed before a finish_reason was received로 모든 도구 호출 턴에 실패하는 문제를 수정했습니다. Go 게이트웨이는 이들 id를 /zen/go/v1/responses에서만 제공하지만, /zen/go/v1/models 검색은 provider.npm 힌트를 생략하므로, 리졸버는 openai-completions로 떨어졌습니다. 두 id는 deepseek-v4-flash처럼 openai-responses에 고정되어 있습니다 (#8957).grok-4.6 / grok-4.6-1m이 HTTP 400 unsupported_api_for_model로 실패하는 문제를 수정했습니다. /chat/completions 대신 OpenAI Responses API(/responses)를 통해 라우팅하며, grok-4.5와 일치합니다. 오래된 캐시된 완성 경로는 새로고침 시 무효화됩니다 (#8807).GetUsableModels는 thinkingDetails를 제공하지 않고 번들 참조는 reasoning: false를 읽으므로, 선택기가 노력 사다리를 숨겼습니다. 검색은 이제 cursor-grok-<version> id를 추론 모델로 표시합니다(비추론 grok-code-* id는 제외됨) (#8803).gmi-cloud) 모델이 /v1/models 검색을 통해 해결될 때 모든 모델에 대해 null 컨텍스트 윈도우, 0 가격 및 추론/생각 메타데이터가 없는 문제를 수정했습니다. (번들 deepseek-ai/DeepSeek-V4-Flash 시드 제외). GMI의 엔드포인트는 베어 {id} 행만 반환하므로, 매퍼는 이제 교차 제공자 정규 참조 인덱스에서 재판매 오픈 가중치 모델에 대한 내재적 기능 메타데이터(컨텍스트 윈도우, 출력 제한, 추론, 생각 사다리)를 복구합니다 — SiliconFlow 동작과 일치합니다 — 다른 제공자의 가격 책정을 빌려주지 않습니다 (#8890).providers.cacheRetention 설정(/settings → Providers → Protocol)을 추가했습니다. auto는 제공자 기본값(Anthropic: 유휴 유지 활성화 새로고침이 있는 5분 항목)을 유지하고, short는 5분을 강제하고, long은 지원되는 경우 1시간 TTL을 복원하고 유지 활성화 새로고침 루프를 비활성화하고, none은 프롬프트 캐싱을 비활성화합니다.read 도구는 이제 로컬 텍스트 파일을 소비자당 한 번이 아니라 호출당 한 번 구현합니다. 스냅샷 상한 내의 파일의 범위 읽기는 이전에 4개의 열기와 3개의 UTF-8 디코드 비용이 있었습니다 — 8KiB 바이너리 스니프, 렌더링된 윈도우에 대한 스트리밍 스캔, 대괄호 컨텍스트에 대한 전체 파일 읽기 및 스냅샷을 해시하기 위한 또 다른 전체 파일 읽기 — 이 중 2개의 리더는 별도로 줄 끝을 정규화했습니다. 구조적 요약기 아래의 전체 파일 읽기는 5번째 읽기를 지불했습니다. 바이트 수와 자르기 경계는 이제 버퍼링된 바이트에서 측정되므로 유효하지 않은 UTF-8 내용에 대해 정확하게 유지됩니다. 스냅샷 상한을 초과하는 파일은 스트리밍을 유지합니다(해당 경로의 아무것도 전체 파일을 원하지 않으므로). 문서화된 비용을 지불하지 않는 트리 시터 파싱을 건너뛴 원시 읽기는 더 이상 이를 지불하지 않습니다.bash.patterns이 bash 도구만 게이트하고 eval이 서브프로세스를 통해 생성할 수 있는 셸을 포함하지 않는다는 점을 문서화했으며, 해당 경로를 닫으려면 tools.approval.eval 정책이 필요합니다 — docs/bash-tool-runtime.md, docs/approval-mode.md 및 docs/settings.md에 기재됨 (#8838)./btw 패널이 주 턴이 여전히 스트리밍 중인 동안 매 업데이트마다 프레임을 네이티브 스크롤백에 다시 커밋하는 문제를 수정했습니다. 자신을 고정하는 라이브 영역(고정된 HUD/패널, 예: /btw)은 고정되지 않은 기록 이음새가 같은 프레임에서 그 위에 있다는 이유만으로 더 이상 스크롤되지 않은 행을 누출하지 않습니다 (#8793)./skill:<name> 명령이 대기 프리플라이트(메모리 회상, before_agent_start 후크, 자동 생각 분류, 사전 프롬프트 컴팩션)가 완료될 때까지 기록에서 보이지 않는 문제를 수정했습니다. Hindsight 자동 회상 타임아웃과 같은 느린 단계는 명령이 수락되지 않은 것처럼 보이게 했습니다. 유휴 기술 제출은 이제 정상적인 프롬프트와 같이 낙관적 행을 즉시 그립니다 — 정규 message_start가 도착하면 제자리에서 조정됩니다 (#8895).omp auth-broker serve에서 액세스 토큰이 만료된 후 /mcp에서 탈락했습니다. 클라이언트는 브로커에 새로고침을 요청하는 대신 브로커 수정 새로고침 센티널에서 throw했으며, 브로커는 mcp_oauth:* 새로고침 경로를 갖지 않았습니다(POST /v1/credential/:id/refresh는 Unknown OAuth provider 응답). 클라이언트는 이제 수정된 MCP 새로고침을 브로커를 통해 라우팅하고, 브로커는 자격증명의 포함된 토큰 엔드포인트 및 클라이언트 ID에서 일반 refresh_token 부여로 MCP 자격증명을 새로고칩니다 — 따라서 배경 새로고침자도 MCP 토큰을 라이브 상태로 유지합니다 (#8933).omp commit 분할 커밋이 분할 커밋에 바이너리 파일이 포함되어 있을 때 corrupt binary patch로 실패하는 문제를 수정했습니다. parseFileDiffs는 캡처된 diff를 "\ndiff --git "에서 분할했으며, 각 블록을 종료하는 \n을 소비했고, patch.join이 후행 줄 바꿈을 제거했습니다 — 둘 다 GIT binary patch 블록을 종료하는 공백 행을 삭제했으므로, 재구성된 패치는 git apply --binary에 의해 거부되었습니다. 후행 및 중간 diff 바이너리 블록은 이제 파싱/재구성 왕복을 바이트 정확하게 유지합니다 (#8899).omp update(및 다른 비 시작 서브 명령)가 error: Unknown option '--cwd'로 크래시하는 문제를 수정했습니다 — 예: omp --cwd <dir> update를 실행하는 셸 별칭/래퍼. resolveCliArgv는 서브 명령을 앞으로 끌어올렸지만 시작 전용 플래그를 update의 엄격한 node:util.parseArgs 파서로 전달했고, 이를 거부했습니다. 시작 모양 명령(acp/launch) 앞의 글로벌 시작 플래그는 여전히 전달되고, 다른 서브 명령 앞에서는 이제 적용 불가능한 것으로 제거됩니다 (#8891).~/.claude/settings.json 및 .claude/settings(.local).json의 enabledPlugins 스위치를 무시하는 문제를 수정했습니다. 프로젝트에서 꺼진 플러그인은 더 이상 로드되지 않고, 프로젝트에 대해 활성화된 로컬 범위 설치는 기록된 projectPath가 다른 디렉토리인 경우에도 로드됩니다.ExtensionRuntimeNotInitializedError를 throw합니다. tool_call 핸들러가 있는 확장이 런타임 작업(예: appendEntry)을 터치한 다음 emitToolCall의 실패 폐쇄 게이트를 트리거했고 모든 도구를 차단했습니다 — 숨겨진 yield 포함. 부활된 에이전트는 완료하거나 종료할 수 없었고 종료될 때까지 루프했습니다. 두 부활자는 이제 공유 initializeExtensions 헬퍼를 호출하여 런타임 작업, onError 및 session_start 이벤트를 복원합니다 (#8824).omp commit 분할 커밋이 스테이징된 바이너리(또는 모든 페이로드)가 git diff --cached --binary를 8 MiB 서브프로세스 출력 상한을 초과할 때 오도하는 No diff found for <path>로 크래시하는 문제를 수정했습니다. 캡처는 조용히 잘리므로, 바이너리를 정렬한 후 파일은 파싱된 diff에서 사라졌습니다. 분할 플로우는 이제 완전한 diff를 요청하고 실제 원인을 명명하여 빠르게 실패합니다 (#8897).getContextBreakdown은 메시지 위치(anchorIndex >= cutoffCount)를 신선도 프록시로 사용했습니다. 따라서 요청이 컴팩션 이전에 날짜가 지정된 인비행 제공자 응답은 리베이싱된 추정값을 능가했고 사전 컴팩션 토큰 수(~2.6배 실수)를 보고했습니다. 이는 "Compaction freed too little context to make progress" 가드를 트리거했고 바이트 동일 tokensBefore에서 프레임 구조 경로를 구동했습니다. 어시스턴트 컨텍스트 스냅샷은 이제 단조 컴팩션 에포크를 전달하고, 컷오프 이후 앵커의 에포크가 마지막 컴팩션보다 이전인 경우 더 이상 리베이싱된 추정값보다 신뢰됩니다 (#8887).after_provider_response 확장 핸들러가 교차 제공자 측 요청에 대해 ctx.model 및 ctx.models.current()에서 주 세션 모델을 수신하는 문제를 수정했습니다. ExtensionRunner.emitAfterProviderResponse는 응답 모델을 수락했지만 삭제했으므로, 핸들러가 HTTP 402에서 자격증명을 취소할 때 잘못된 제공자를 대상으로 할 수 있습니다. 이제 응답 모델을 컨텍스트로 쓰레딩하여 emitBeforeProviderRequest와 일치합니다 (#8955).lang:/language: 쿼리 지시문을 무시하는 문제를 수정했습니다. 모든 요청은 API의 미국/영어 지리적 위치로 폴백했습니다. parsed.lang은 이제 TinyFish의 location/language 매개변수로 매핑됩니다(예: lang:it-it → location=IT&language=it), DuckDuckGo, Perplexity 및 SearXNG 제공자와 일치합니다 (#8913)./model Roles 패널이 표시 패널 높이를 초과한 역할과 모델 키 폴백 체인을 자동으로 삭제하는 문제를 수정했습니다. 목록에는 스크롤 윈도우가 없었으므로, 컷오프 아래의 항목은 누락된 내용을 나타내는 표시가 없었습니다. 패널은 이제 제공자 목록과 같이 커서 주위를 윈도우하고 행이 클립되면 ↑/↓ N more 힌트를 표시합니다 (#8817).xd:// 아래에 마운트된 도구에서 반환된 이미지가 파일 링크 대신 인라인 터미널 그래픽으로 렌더링되지 않는 문제를 수정했습니다.exec-resolved 마커를 필요로 하지 않습니다.think를 노출할 때 중단되는 문제를 수정했습니다 (#8909 by @olegpulatov)./skill:<name> 호출을 무시하는 문제를 수정했습니다. 제목은 이제 나중 어시스턴트 텍스트만 대신 스킬 이름과 인수를 봅니다.rm이 무엇이든 플래그를 대상과 분리할 때 중요 패턴 승인 검사를 피하는 문제를 수정했습니다. rm -rf -- /, rm --recursive --force / 및 rm -rf --no-preserve-root /는 이제 rm -rf /처럼 중요로 분류됩니다. --no-preserve-root는 coreutils의 자체 /에 대한 재귀 거부를 무효화하는 것이므로, 나타나는 곳이 어디든 중요로 취급됩니다.AIError.Flag.ThinkingLoop)이 retry.fallbackChains를 걷고 시도 1에서 다른 모델 패밀리로 전환하는 문제를 수정했습니다. SuperGrok/Cursor OAuth에서 Grok 4.6의 건강한 계획 턴은 더 이상 체인이 나열하는 다음 것으로 대체되지 않습니다. 루프 가드는 이제 thinking-loop-redirect 공지와 함께 동일한 모델을 다시 샘플링하고, 더 이상 폴백 쿨다운에 모델 선택기를 주차하지 않습니다. (#8760)Cmd+C 클립보드는 public.file-url과 생성된 1024x1024 아이콘 비트맵을 모두 광고하므로, arboard::get_image()는 아이콘으로 성공했고 InputController.handleImagePaste는 파일 URL 분기에 도달하기 전에 첨부했습니다. 처리기는 이제 비트맵 표현 전에 readMacFileUrlsFromClipboard()를 조사하므로, 이미지 파일 URL은 공동 광고 아이콘을 이깁니다. 순수 비트맵 클립보드(스크린샷, 브라우저 복사) 및 비이미지 파일 URL은 여전히 이미지/텍스트 경로로 폴백합니다 (#8769).programs.omp.settings)이 macOS에서 Failed to acquire native file lock … Permission denied (os error 13)로 모든 시작을 깨뜨리는 문제를 수정했습니다. 선언된 구성은 이제 home.activation을 통해 ~/.omp/agent/config.yml에 복사되어 쓰기 가능한 파일로 표시되는 대신 읽기 전용 /nix/store 심볼릭 링크로, OMP가 구성 잠금을 획득하고 런타임 변경 사항을 지속할 수 있습니다. home-manager switch는 여전히 선언된 설정을 재적용합니다 (#8775).{env:VAR}/{file:path} 치환을 사용할 때 401하는 문제를 수정했습니다(예: Bearer {env:MCP_KEY} 헤더). OpenCode 로더는 이제 ${VAR} 만이 아닌 OpenCode가 하는 방식으로 이들 토큰을 확장합니다 (#8778).omp update가 프록시 환경 변수(HTTPS_PROXY, ALL_PROXY, …)가 SOCKS와 같은 지원되지 않는 체계를 사용할 때 Bun의 원시 fetch() 오류("pass verbose: true in the second argument to fetch()")를 누출하는 문제를 수정했습니다. 업데이트 확인은 이제 문제의 변수 및 http/https 프록시 요구 사항의 이름을 지정하는 실행 가능한 메시지를 보고합니다 (#8784).new_tab_with_cwd)은 해당 그룹에서 가장 새로운 프로세스를 선택하므로, 워커가 ~/.bun/install/global/node_modules/@oh-my-pi/pi-coding-agent/dist에서 살아있는 동안 새로운 터미널 탭이 열립니다. 워커는 이제 절대 호스트 항목으로 생성되고 에이전트의 cwd를 상속합니다.ImageContent 도구 결과 블록을 보존하여 비전 가능 모델과 TUI가 텍스트 플레이스홀더만 받는 대신 반환된 이미지를 검사할 수 있습니다 (#8687).read가 UTF-8 BOM이 있는 파일일 때 BOM을 포함하는 텍스트에서 해시된 해시라인 태그를 주조하는 문제를 수정했습니다. 패처의 라이브 읽기가 BOM을 제거하기 때문에, 해당 파일에 대한 다음 편집은 오래된 해시 복구를 통해서만 적용되고 파일이 외부적으로 변경되었지만 실제로는 변경되지 않았다고 보고했습니다.workspaces 루트; 설치된 node_modules 복사본은 여전히 멤버를 섀도우함).omp completions <shell>이 완료 후 postmortem.quit(0)을 호출하여 stdout에 셸 완성 스크립트를 작성한 후 행을 멈추는 문제를 수정했습니다. 명령 메타데이터를 검사할 때 로드된 배경 타이머나 소켓과 같은 미결 이벤트 루프 핸들이 프로세스를 고정하고 chezmoi와 같은 도구를 차단하는 것을 방지합니다.omp --smoke-test가 os.tmpdir()(tmux/ssh 소켓, 편집기 상태, 빌드 트리)에서 관련 없는 디렉토리를 재귀적으로 삭제하는 문제를 수정했습니다. 스모크 브로커는 이제 런타임 디렉토리를 프라이빗 부모 아래에 유지하고, 데드 스코프 회수는 daemons 컨테이너가 아닌 루트를 거부하고 16진수 데몬 범위 키처럼 명명된 항목만 정리합니다 (#8721).task 서브 에이전트)은 requestComponentRender를 구동하는 자체 80ms 스피너 setInterval을 무장했으므로, N개의 동시 라이브 블록은 N개의 비동기 재페인트 타이머를 생성했고, 렌더 스케줄러를 거의 지속적으로 깨어있게 유지했습니다. 블록 당 타이머는 이제 단일 공유 스피너 티커로 통합되어 블록 수와 관계없이 글리프 단계당 한 번의 합쳐진 프레임에서 모든 라이브 블록을 다시 페인트합니다 (#8731).omp update가 바이너리 전용 릴리스(주요 범프 또는 omp.dist: "binary")에서 실행 바이너리 대신 PATH 런처에 쓰는 문제를 수정했습니다. 외부 심볼릭 링크 — 예: 공유 설치로의 관리자 심볼릭 링크 — 는 이제 모든 배포 채널에서 실제 바이너리로 확인되어, 루트 소유 링크 디렉토리의 EACCES 또는 공유 설치를 섀도우하는 분할 뇌 복사를 피합니다. 패키지 관리자 런처는 의도적 제자리 인수를 유지합니다. (#8732).css를 빌트인 Biome 서버 fileTypes에 추가하여 CSS 파일이 전체 프로젝트 fileTypes 재정의를 요구하는 대신 기본적으로 Biome의 linter/asserter를 통해 라우팅되도록 합니다. (#8741)models.yml 사용자 정의 모델 제공자가 auth: oauth를 선언하고 "apiKey is required"로 유효성 검사에서 거부되는 문제를 수정했습니다. 이는 더미 apiKey를 강제했고, 이는 브로커의 OAuth 토큰을 섀도우했습니다 (#8937 by @usr-bin-roygbiv).anthropic/claude-opus-5)는 명명된 제공자를 사용할 수 없을 때 이제 닫은 상태로 실패하며, 자동으로 OpenRouter의 동일 명명된 평면 id에 다시 바인딩하고 애그리게이터에 청구하는 대신입니다 (#8832).web_search 호출이 공유 헤드리스 브라우저 데몬이나 페이지가 중간 설치에서 사망했을 때 60초 타임아웃을 넘어 영원히 행이 매달리는 문제를 수정했습니다. 브라우저 폴백 설정 및 해체는 이제 중단 보호됩니다 (#8865)..mcp.json ${VAR} 환경 플레이스홀더(stdio env/command/args/cwd, HTTP url/headers/oauth)가 확장되지 않은 상태로 MCP 서버에 도달하는 문제를 수정했습니다.omp --resume <id>를 광고하므로, 지속되기 전에 끝난 세션에 대해 인쇄된 명령이 더 이상 실패하지 않습니다 (#8860).13;2~ 형식)로 전달하는 터미널이 /tree 선택기에서 요약 및 전환 대신 일반 전환을 얻는 문제를 수정했습니다 (#8821).분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.