model.contextWindow가 설정되지 않았을 때 무제한 컨텍스트를 사용하도록 원격 압축 입력 자르기 수정GITLAB_CLIENT_ID와 GITLAB_REDIRECT_URI 환경 변수 오버라이드 추가. GitLab OAuth 애플리케이션을 자체 운영하는 사용자가 GitLab이 번들된 client_id의 리다이렉트 URI를 거부할 때 번들된 자격 증명을 대체할 수 있음. GITLAB_REDIRECT_URI을 설정하면 무작위 포트 폴백도 비활성화됨 (엄격한 OAuth 공급자는 어차피 불일치하는 URI를 거부함). (#2424)AuthStorage.listStoredCredentials()와 AuthStorage.removeCredential() 추가.openai-completions, openai-responses, azure-openai-responses, openai-codex-responses의 OpenAI SDK 클라이언트 사용을 새로운 내부 postOpenAIStream OpenAI 와이어 JSON/SSE 전송으로 대체model.maxTokens (null)를 Math.min을 통해 0으로 강제 변환하지 않고 "모델 상한선 없음"으로 처리하도록 수정. Anthropic은 필수 max_tokens에 대해 64k Claude-Code 상한선으로 폴백됨.[DONE] 종료를 인정하도록 OpenAI 호환 응답에 대한 SSE 스트림 처리 수정finish_reason: "error"로 끝나는 OpenAI 호환 스트림(예: Gemini MALFORMED_FUNCTION_CALL)이 재시도 불가능한 Provider finish_reason: error로 표시되는 문제 수정. 이유가 이제 세션 재시도 분류기가 일시적으로 인식하는 Provider returned error finish_reason으로 매핑되므로 고정된 오류 배너로 중지되는 대신 해당 턴이 자동으로 재시도됨.omp --session 창이 동시에 복원될 때 SqliteAuthCredentialStore.open()이 SQLITE_BUSY_RECOVERY (errno 261)로 충돌하는 문제 수정: PRAGMA busy_timeout = 5000이 이제 PRAGMA journal_mode=WAL (WAL 복구 중 첫 번째 잠금 작업 명령문) 전에 독립 실행형 명령문으로 실행되며, open()은 제한된 지수 백오프를 사용하여 SQLITE_BUSY 계열 — SQLITE_BUSY, SQLITE_BUSY_RECOVERY, SQLITE_BUSY_SNAPSHOT, SQLITE_BUSY_TIMEOUT — 을 재시도함. 재시도 소진 오류 메시지에는 DB 경로가 포함됨. 동일한 분류기가 필요한 호출자를 위해 isSqliteBusyError(err) 내보냄 (#2421).<think>…</think> 콘텐츠와 구조화된 reasoning_content를 모두 전달할 때 MiniMax-M3 OpenAI 호환 스트림이 추론을 두 번 렌더링하는 문제 수정. 구조화된 추론이 이제 우선하고 누적 MiniMax 추론 스냅샷이 델타로 축약됨. (#2433)finishReason: STOP을 반환할 때 에이전트를 조용히 중단하는 문제 수정 — 잘 알려진 "빈 응답" 실패. 모든 Google 서피스(공개 Generative Language streamGoogle, Vertex streamGoogleVertex, Cloud Code Assist google-gemini-cli/google-antigravity)가 이제 공유 hasMeaningfulGoogleContent 체크를 통해 이러한 턴을 비어 있음으로 분류하고 오류를 표시하기 전에 최대 MAX_EMPTY_STREAM_RETRIES 횟수까지 재시도함. Cloud Code Assist 경로는 이전에 이 경우에 발화하지 않는 빈 스트림 재시도(빈 문자열 텍스트 부분을 콘텐츠로 계산하는 hasContent 플래그)를 가지고 있었고, 공개/Vertex 경로는 재시도가 없었음. 재시도는 이제 단일 start 이벤트를 내보내므로 중복된 부분 메시지가 다운스트림에 유출되지 않음.deepseek-v4-flash, kimi-k2.7-code, minimax-m2.5, minimax-m3, nemotron-3-ultra-nvfp4, qwen3.6-plus, qwen3.7-plus 추가contextWindow/maxTokens는 이제 number | null. discovery는 공급자가 제한이 없음을 보고할 때 222222/8888 (UNK_CONTEXT_WINDOW/UNK_MAX_TOKENS) 센티널을 대체하여 null을 내보냄 (이제 제거됨). 번들된 models.json 알 수 없는 제한은 null.github-copilot 모델 컨텍스트 윈도우를 524288 토큰으로 변경/v1/models 추론 목록 대신 컨트롤 플레인 List Models API (GET /v1/accounts/fireworks/models?filter=supports_serverless=true)에서 소싱하도록 변경. 추론 엔드포인트는 온디맨드 서버리스 모델(예: kimi-k2.7-code)을 생략하는 계정 관련 희소 부분 집합을 반환하므로 새로 게시된 서버리스 모델은 번들된 카탈로그에 손으로 추가될 때까지 피커에서 보이지 않음. 컨트롤 플레인 카탈로그는 기능 메타데이터(supportsServerless/supportsTools/supportsImageInput/contextLength/displayName)를 사용하여 모든 서버리스 모델을 열거하고, 도구 가능한 READY 항목으로 필터링된 페이지네이션을 수행한 다음 번들/models.dev 참조와 병합됨 — Kimi K2 최대 출력 클램프 및 DeepSeek V4 사고 전환 제거는 유지되고, 번들되지 않은 모델은 추론으로 기본 설정되어 buildModel이 Fireworks 노력 맵을 파생함. 새로운 서버리스 릴리스는 이제 카탈로그 편집 없이 자동으로 표시됨.models.json에서 프록시/재판매인 변형에 대한 누락된 contextWindow 및 maxTokens 채움x-ai 구독 항목 무시PRAGMA busy_timeout 전에 PRAGMA journal_mode=WAL을 사용하여 열려서 동시 omp 시작이 대기하는 대신 WAL 복구 중 SQLITE_BUSY에서 getDb() 내부에서 충돌할 수 있는 문제 수정. 비지 핸들러는 이제 첫 번째 잠금 작업 명령문 전에 설치됨 (#2421).--list-models 플래그 경로 제거 및 모델 목록을 새로운 omp models 명령어로 마이그레이션ls, find, canonical, refresh 작업으로 모델을 나열하고 관리하는 omp models 명령어 추가omp models 목록에 --json 출력 및 -e/--extension, --no-extensions, --config 제어 추가~/.agent[s]/skills 및 프로젝트 워크업 .agent[s]/skills를 써드파티 Claude/Codex/Pi 토글과 독립적으로 구성 가능하도록 skills.enableAgentsUser 및 skills.enableAgentsProject 설정(기본값 활성화) 추가.omp models / 모델 피커가 알 수 없는 컨텍스트/출력 제한(null)을 처리 — 알 수 없는 제한은 가짜 222K/8.9K 대신 -로 렌더링됨.omp models를 캐시된 공급자 데이터를 기본적으로 사용하도록 변경하고 강제 온라인 재검색을 위해 omp models refresh 필요omp models를 가리키도록 업데이트@agentclientprotocol/sdk 버전 0.25.0과 호환되도록 리팩토링.zod 버전 요구 사항을 더 관대하게(4.4.3 대신 ^4.0.0) 만들고 코딩 에이전트 확장성 모듈의 타입 정의를 정렬./logout을 공급자 후 저장된 계정을 선택하도록 변경하여 다중 계정 OAuth 공급자가 모든 계정을 로그아웃하지 않고 하나의 자격 증명을 제거할 수 있음./context 패널 및 협업 호스트 브로드캐스트와 일치. 추정값은 구독/Codex 모델(광고된 윈도우, 예: 272K가 최대 출력을 예약한 후 이미 입력 예산임)에서 높게 읽을 수 있고 요청이 실제 제한 내에서 여전히 잘 있는 동안 100%를 넘어서 올라갈 수 있음. 압축 직후 세그먼트는 다음 응답이 실제 개수를 다시 설정할 때까지 ?로 표시되고 중복된 메시지별 추정값 캐시는 getContextUsage() 메모이제이션을 위해 삭제됨.ollama, ollama-cloud, 모든 ollama-chat 모델)이 첨부된 이미지가 WebP로 인코딩되었을 때 불투명한 HTTP 400으로 실패하는 문제 수정. Ollama는 llama.cpp / stb_image를 통해 이미지를 디코드하며 WebP 지원 없이 빌드되므로 리사이즈 파이프라인이 이제 해당 모델에 대해 WebP를 자동으로 제외 — OMP_NO_WEBP=1의 자동 동등물이 모든 이미지 경로에 적용됨 (@file 언급 및 프롬프트/붙여넣기/CLI 첨부, read/inspect_image 도구, eval 디스플레이 이미지, fetch된 이미지, 브라우저 스크린샷). 다른 공급자는 영향을 받지 않으며 여전히 OMP_NO_WEBP를 인정함.maxTokens 제한(null)이 있는 후보를 건너뛰지 않도록 수정-e 및 구성된 extensions 소스에 포함되도록 모델 목록 수정/mcp reauth, /mcp test, /mcp unauth가 /mcp list로 보고된 MCP 서버를 찾아 작동하도록 수정. 런타임 검색만 되고 쓰기 가능한 구성에 저장되지 않은 경우 포함하여 cloudflare:cloudflare-api와 같은 네임스페이스된 플러그인 서버 포함.server:subserver 항목으로 저장할 수 있도록 재인증 오버라이드를 지속할 때 콜론 네임스페이스 서버 ID가 수락되도록 MCP 서버 이름 검증 수정STOP 응답이 세션을 조용히 종료하는 대신 계속됨.skills.enableCodexUser, skills.enableClaudeUser, skills.enableClaudeProject, skills.enablePiUser, skills.enablePiProject)이 꺼졌을 때 ~/.agent[s]/skills이 /skill:<name> 명령어로 표시되지 않는 문제 수정: loadSkills는 agents 공급자를 anyBuiltInSkillSourceEnabled에 게이트했으므로 Claude/Codex/Pi 소스를 꺼서 노이즈를 정리하는 사용자도 자신의 정규 OMP 네이티브 기술을 잃음. agents 공급자는 이제 써드파티 폴스루와 분리된 enableAgentsUser/enableAgentsProject 토글을 읽음 (#2401).mermaid 코드 블록 및 render_mermaid 도구 모두 영향을 받음. beautiful-mermaid@1.1.3은 라벨 너비를 UTF-16 코드 단위로 측정하지만 터미널은 동아시아 문자를 2열 너비로 렌더링. patchedDependencies 항목이 ASCII 렌더러를 재구축하여 터미널 디스플레이 열을 측정 (그래프클러스터 인식, wcwidth 스타일 정책). 패치는 업스트림 PR(lukilabs/beautiful-mermaid#128)을 미러하며 릴리스에 포함되면 제거되어야 함./goal <objective> 및 /goal set <objective>를 수정하여 목표 컨텍스트는 즉시 스티어되지만 목표 제출은 AgentBusyError 스팸 대신 활성 턴이 완료될 때까지 대기 (#2454).omp --session 시작(예: 정리되지 않은 종료 후 cmux 창 복원)이 에이전트 SQLite 데이터베이스가 아직 WAL 복구 중인 동안 SQLITE_BUSY_RECOVERY로 충돌하는 문제 수정. 인증 자격 증명 저장소 및 AgentStorage.open()은 제한된 백오프를 사용하여 SQLITE_BUSY 계열을 재시도하고 모든 공유 SQLite 열기 경로 (AgentStorage, 히스토리, 자동 연구, 메모리, github 캐시, 자동 QA 불평, 카탈로그 모델 캐시, 통계)는 이제 첫 번째 잠금 작업 명령문 전에 비지 핸들러를 설치하여 일시적 WAL 복구 경합이 충돌 대신 대기 (#2421).per-project / per-project-tagged 은행 파생이 주변 git 레이아웃을 무시하고 하나의 cwd에 대해 안정화됨. 이전에 은행 ID는 git.repo.resolveSync(cwd)?.repoRoot ?? path.resolve(cwd)에서 해시되었으므로 작업 디렉토리 위 어디든지 .git을 추가하거나 제거하면 조용히 동일한 대화를 새 은행으로 재포인트하고 메모리를 고립시킴 (예: /home/x/projects/repo가 projects-…와 repo-… 사이를 뒤바뀜). packages/coding-agent/src/mnemopi/config.ts의 파생은 이제 path.resolve(cwd)를 직접 해시하고 세션 시작이 활성 cwd를 metadata_json.$.cwd의 working_memory 행에 이미 전달하는 <dbDir>/banks/ 아래 형제 은행으로 리콜 집합을 확대하여 오래된, 덜 안정적인 파생으로 인해 고립된 메모리가 수동 마이그레이션 없이 다음 세션에서 다시 표시됨 (#2412).분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.