agent_start은 이어서 실행되는 실행(run)이 짝이 없는 어시스턴트 꼬리(unpaired assistant tail)의 도구 호출을 처음 실행할 때 resumedToolCallIds를 함께 전달합니다ask를 취소하면, 건너뛴 도구를 재시도하라고 모델에 전달하는 대신 사용자 취소를 보고하도록 수정했습니다 (#15985)resolveGatewayApiKey와 buildGatewayApiKeyResolver(@oh-my-pi/pi-ai/auth-gateway)는 AuthStorage 대신 요청의 라우트 옵션({ storage, client? })을 받으며, 리졸버 콜백은 해석된 자격 증명을 전달받고, resolveGatewayAccount는 해당 자격 증명을 인자로 받습니다 (#15900, @alphastorm 작성)startAuthGateway에 범위가 지정된 클라이언트(clients, setClients)를 추가했습니다. 각 클라이언트 bearer는 자체 모델과 OAuth 계정으로만 제한되며, 다른 계정이나 API 키로 대체되지 않습니다. 요청 로그 줄에는 클라이언트와 요청이 시작된 자격 증명의 이름이 표시됩니다 (#5098, #15900, @alphastorm 작성)jev-latest, jev-preview, jev-1.13.0, jev-1.14.0과 OpenRouter의 typesafe/jev-1.13, typesafe/jev-1.14, ~typesafe/jev-latest 모델에 대한 실험적 네이티브 이미지 판단 기능을 추가했습니다. Jev의 문서화된 크기 범위를 벗어난 이미지는 실패하는 대신 비전 채팅 판정기(vision chat judge)로 넘어갑니다 (#15887, @anatoli-tsinovoy 작성)POST /v1/audio/speech가 502를 반환하던 문제를 수정했습니다. 이제 400 invalid_request_error를 반환합니다 (#14508, @F0Rextasy 작성)response_format은 더 이상 GPT Image 모델에 전송되지 않습니다 (#14619, @jimhester 작성)error.metadata.raw에서 누락되던 문제를 수정했습니다 (#10906, #14435, @F0Rextasy 작성)finish_reason: "repetition" 또는 stop_reason: "repetition_detected"가 thinking 루프로 처리되지 않아, 퇴화된 부분 추론이 유지된 채 다음 턴으로 재생되던 문제를 수정했습니다 (#12525, #14535, @F0Rextasy 작성)keep-bundled-names 카탈로그 속성을 추가했습니다openai-codex 제공자 구성을 업데이트했습니다gpt-image-*, chatgpt-image-*)은 이제 gpt 또는 chatgpt가 아닌 자체 gpt-image 계열로 분류되므로, GPT 채팅 모델 규칙이 더 이상 적용되지 않습니다 (#14619, @jimhester 작성)lsp.requestTimeout 설정을 추가했습니다omp auth-gateway serve --clients=<file>을 추가했습니다. 클라이언트별 bearer 토큰으로, 각 토큰은 나열된 모델과 브로커 OAuth 계정으로만 제한되며 다른 계정이나 API 키로 대체되지 않습니다. 서빙 중에도 다시 읽습니다 (#5098, #15900, @alphastorm 작성)lsp 도구가 이제 lsp.requestTimeout을 사용해 호출 기한과 프로젝트 인식 진단 대기 시간을 동적으로 조정하며, 호출별 재정의를 지원합니다todo 업데이트를 전송합니다 (#15402, @will-bogusz 작성)memory.save API를 통해 명시적으로 저장된 메모리는 이제 unknown 대신 stated로 저장되므로, Mnemopi 회상에서 의도적으로 저장된 메모리로 순위가 매겨집니다 (#13824, @sjawhar 작성)write xd://를 통한 읽기 전용 MCP 조회 중 prewalk가 모델을 전환하던 문제를 수정했습니다 (#15994)9;5u를 출력하던 문제를 수정했습니다grep이 이름으로 직접 지정된 파일의 앞 4 MB만 검색해, 이후 일치 항목이 없는 것으로 보고되던 문제를 수정했습니다. 이제 파일 전체를 검색하며, 여전히 앞 4 MB만 읽는 다중 행 패턴은 일치 없음 제목에 이를 명시합니다 (#15942)uploadFile이 릴레이를 거치거나 다른 머신의 Chrome으로 보낼 때 "Not allowed"로 실패하던 문제, macOS 폴더 개인정보 보호 프롬프트에 막혀 멈추던 문제, 대용량 드롭 영역 파일에서 탭이 깨지던 문제를 수정했습니다 (#15489, @will-bogusz 작성)uploadFile이 크기나 타임스탬프가 바뀌지 않은 채 다시 쓰인 파일의 오래된 사본을 보내던 문제, 심볼릭 링크 순환이 있는 폴더에서 실패하던 문제, 반복 업로드 후 연결된 열린 페이지가 읽을 수 있는 사본을 삭제하던 문제를 수정했습니다write라는 이름의 도구를 제공할 때 계획 모드(plan-yolo 포함)가 write xd://propose에서 무한히 반복되던 문제를 수정했습니다. 계획은 내장 write만 제출할 수 있으므로, 확장 도구는 경고와 함께 계획 모드에서 제외됩니다 (#14030, #14438, @F0Rextasy 작성)XAI_API_KEY를 통한 xai-oauth) 시작 시 이를 건너뛰고 관련 없는 모델을 선택하던 문제를 수정했습니다 (#15781)read 디렉터리 목록이 디렉터리의 원시 목록 오류를 출력하던 문제를 수정했습니다. 탭, 줄바꿈, 제어 문자가 대화 기록을 깨뜨릴 수 있었으며, [unreadable: …]은 이제 제한된 한 줄입니다 (#15789)^ 모델 언급(steer, follow-up, 또는 대기열에 든 스킬 프롬프트)이 모델에 새 m<N> 별칭을 알리지 않던 문제를 수정했습니다 (#14093, #14322, @holny 작성)write를 막다른 길로 읽던 문제를 수정했습니다. yield를 사용할 수 있을 때 거부 메시지가 내용을 반환하는 방법으로 yield를 명시합니다 (#14308, #14470, @F0Rextasy 작성)/retry를 실행하면 이후의 어드바이저 노트와 확장 사이드 메시지가 다음 입력 프롬프트 전까지 에이전트를 깨우지 못하던 문제를 수정했습니다 (#14831, @daandden 작성)history.db가 격리되고 새로 생성된 뒤 세션 제목과 유휴 요약이 사라지던 문제, 그리고 일시적으로 바쁜 저장소가 세션 나머지 동안 세션 인덱스를 비활성화하던 문제를 수정했습니다 (#13929, #14361, @F0Rextasy 작성)Clipboard is empty 또는 Image not found로 실패하던 문제를 수정했습니다 (#15369, @LoneExile 작성)hooks/pre 또는 hooks/post에 심볼릭 링크로 연결된 훅을 네이티브 훅 탐색이 조용히 무시하던 문제를 수정했습니다 (#14189, #14536, @F0Rextasy 작성)Failed to acquire power assertion 경고가 기록되던 문제를 수정했습니다. 누락된 백엔드는 이제 디버그 수준에서 한 번만 기록됩니다 (#14591, @tahakotil 작성)proc://, wait, 공유 LSP, 공유 브라우저가 connect ENOENT …/broker.sock으로 실패)를 수정했습니다. 이제 브로커는 소켓을 잃은 뒤 몇 초 안에 프로젝트를 해제하며, 다음 요청이 새 브로커를 시작합니다 (#14466, @nick-maderight 작성)OPENAI_CODEX_OAUTH_TOKEN만 설정된 경우 OpenAI Codex 웹 검색이 "No Codex OAuth credentials found"로 실패하던 문제를 수정했습니다 (#12537, #14337, @F0Rextasy 작성)error에 unused나 n/a 같은 자리표시자를 채웠을 때 유효한 data 결과를 yield가 거부하던 문제를 수정했습니다. data와 함께 오는 실제 오류는 여전히 거부되며, 이제 정확한 재전송 안내가 함께 표시됩니다 (#15633, @Komzpa 작성)thoughtSignature와 함께 재생하던 비밀 값 마스킹 문제를 수정했습니다. 다시 쓰인 호출은 이제 서명을 제거하며, 이는 다시 쓰인 thinking과 동일한 방식입니다 (#14392, @F0Rextasy 작성)timeout(예: SAP의 "timeout": 600)을 선언하면 로드되지 않던 문제를 수정했습니다. Claude Code의 최소값인 1000 ms보다 작은 값은 이제 경고와 함께 무시되어 기본 타임아웃이 적용됩니다 (#12485, #14574, @oleg494 작성)Content-Type(또는 <meta charset> 태그)에 선언된 charset으로 디코딩합니다 (#15304, @yuzu-octopus 작성)openai-models-list 탐색이 /v1/models 행의 단일 max_tokens 출력 한도를 무시해, 해당 모델이 32K 기본값에 고정되던 문제를 수정했습니다 (#13062, #14403, @F0Rextasy 작성)minimumReleaseAge 또는 npmrc의 min-release-age 공급망 쿨다운이 방금 게시된 릴리스를 거부할 때 omp update가 실패하던 문제를 수정했습니다. 이제 자체 업데이트는 설치하는 고정 버전에 대해 쿨다운을 무시합니다 (#14581, @morri-son 작성)agent://<id>가 메시지 결과 서브에이전트의 첫 번째 결과를 반환하던 문제를 수정했습니다. 이제 가장 최근에 완료된 결과를 반환합니다 (#15707, @mg-mg-mg 작성)*** Find 하나 뒤에 두 개의 연산자가 오면(예: *** Insert Before와 *** Replace) 대충 작성된 편집이 연산자를 조용히 버리던 문제를 수정했습니다. 이제 두 연산자를 모두 명시한 오류와 함께 페이로드가 거부되며, 아무것도 적용되지 않습니다 (#14357, @F0Rextasy 작성)uv tool install)가 중단된 신호와 함께 pip으로 넘어가고 설치 진행 표시가 계속 돌아가던 문제를 수정했습니다 (#15750, @harshaygadekar 작성)/shake images를 실행해도 컨텍스트 백분율이 변하지 않던 문제를 수정했습니다. 제거된 이미지가 확보한 토큰이 이제 바로 보고되고 컨텍스트 미터에서 차감됩니다 (#5029, #14367, @F0Rextasy 작성)/fork pane|tab과 Herdr ctx.ui.openTerminal() 실행이 실패하던 문제를 수정했습니다. 이제 Herdr 실행은 자체 삭제되는 /bin/sh 스크립트의 경로만 입력하며, POSIX 셸 확인을 더 이상 요청하지 않습니다 (#15262, @shgew 작성)read("artifact://N")이 텍스트 대신 "Unbounded raw read blocked" 알림을 반환하던 문제를 수정했습니다 (#15410, @will-bogusz 작성)uploadFile()이 레이블, 선택기 트리거, 드롭 영역에서 "Node is not a file input element"로 실패하던 문제를 수정했습니다. 이제 tab.uploadFile()과 같은 방식으로 업로드합니다 (#15918, @will-bogusz 작성)tab.fill이 색상, 날짜, 시간, 범위 입력의 값을 잘못 설정하던 문제를 수정했습니다(예: 2026-10-12를 61012-02-02로 입력하고 색상을 #000000으로 남김). 이제 입력이 거부하는 값은 거부합니다 (#15914, @will-bogusz 작성)showOpenFilePicker()를 여는 컨트롤에서 브라우저 uploadFile이 셀을 탭이 종료될 때까지 멈추게 하던 문제를 수정했습니다. 이제 이름이 명시된 오류와 함께 즉시 실패합니다 (#15915, @will-bogusz 작성)uploadFile이 파일 선택기 트리거나 드롭 영역을 클릭한 후, 페이지의 이후 모든 파일 선택기가 릴레이 탭의 사용자 클릭을 포함해 아무 동작도 하지 않던 문제를 수정했습니다 (#15915, @will-bogusz 작성)uploadFile이 첨부된 파일 없이 성공을 보고하던 문제를 수정했습니다. 이제 실패하며, 대상으로 지정해야 할 요소를 알려줍니다 (#15919, @will-bogusz 작성)No page targets available로 실패하며 탭을 다시 열었습니다 (#15920, @will-bogusz 작성)computer 도구가 디스플레이를 잠자기 및 잠금 상태로 두던 문제를 수정했습니다. 이제 턴이 끝나거나 사용자 답변을 요청할 때까지 디스플레이를 깨워 두며, 그 후 잠자기를 허용합니다 (#15762, @will-bogusz 작성)parseCodeStatus를 추가했습니다 (#15904, @iliaal 작성).DesktopSession.holdDisplayUntilReleased()와 releaseDisplayAwake()를 추가했습니다 (#15762, @will-bogusz 작성)warmBlockParse가 2 MiB를 넘는 파일을 건너뛰도록 변경했습니다(이전 4 MiB). 일반적인 파싱이 캐시에 더 이상 들어가지 않는 크기입니다 (#15886, @H4vC 작성)listWorkspace({ reportDirectoryErrors: true, maxDepth: 0 })가 스캔을 실패시키지 않고 빈 결과를 반환하던 문제를 수정했습니다 (#15789)grep이 maxCountPerFile을 무시하던 문제, 그리고 단일 파일 개수 모드가 maxCount 내용 상한에서 멈추던 문제를 수정했습니다 (#14162, #14327, @F0Rextasy 작성)/extensions에서 꺼진 확장을 더블 클릭해도 다시 켜지지 않던 문제를 수정했습니다N queued로 표시합니다@ 파일 자동완성이 멈추던 문제를 수정했습니다. 이제 퍼지 탐색은 1.5초 후 멈추고, 팝업은 바로 아래 디렉터리 목록으로 대체됩니다 (#12317, #14330, @F0Rextasy 작성).env가 TERM을 screen*/tmux* 값으로 설정하면 Tern 창의 omp가 클래식 CLI를 표시하던 문제를 수정했습니다. 이제 실제 tmux/screen/zellij/herdr/cmux/wmux 세션에서만 Tern 네이티브 뷰가 꺼집니다devenv shell 2.x 안의 omp가 Tern 네이티브 뷰를 열었다가 포기하던 대신 이제 클래식 렌더러로 시작합니다. devenv의 터미널 계층이 Tern 프로토콜을 제거하므로, 네이티브 뷰에는 devenv shell --no-reload가 필요합니다. 디버그 로그에는 Tern 창이 클래식 렌더러를 유지하는 이유가 기록됩니다start() 이후에 추가된 TUI.addStartListener() 훅이 다음 중지/시작 주기 전까지 실행되지 않던 문제를 수정했습니다. 실행 중인 TUI에 추가된 훅은 즉시 실행됩니다 (#15369, @LoneExile 작성)pr 세그먼트가 이전 브랜치의 PR을 유지하던 문제를 수정했습니다 (#15455, @ravshansbox 작성)sqliteFileIdentity()를 내보냈습니다 (#14361, @F0Rextasy 작성)maxLength를 지원하는 공용 소문자 ASCII kebab-case 헬퍼 slugify()를 추가했습니다 (#14283, @jaredlyon 작성)분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.