OpenClaw 2026.6.5 업데이트 전체 정리: Changes 12개와 Fixes 37개

OpenClaw 2026.6.5 업데이트 전체 정리: Changes 12개와 Fixes 37개


OpenClaw 2026.6.5는 채널 응답 안전성, MCP 도구 결과 처리, Anthropic extended thinking 복구, Parallel 검색 Provider 추가, Google Vertex 모델 해석, Matrix 음성/스레드 흐름, 인증과 플러그인 설치 상태 보존을 중심으로 안정성을 끌어올린 업데이트입니다. 이번 글은 changelog의 2026.6.5 섹션에 있는 Changes 12개와 Fixes 37개를 모두 한국어로 정리한 내용입니다.

Changes 전체 목록

  • Search/providers: Parallel을 기본 포함 web-search 플러그인으로 추가했습니다. 실제 Provider 테스트, 등록 계약, 온보딩과 문서 연결, api.parallel.ai/v1/search 보호 처리까지 함께 들어갔습니다. PARALLEL_API_KEY를 쓰는 검색 연동을 공식 경로로 다루기 위한 변화입니다. (#85158) Thanks @NormallyGaussian.
  • Matrix/channels: Matrix 음성 메시지를 mention gating 전에 사전 점검할 수 있게 했고, Matrix relations pagination을 활용해 스레드 읽기와 답장 흐름을 보존하도록 했습니다. 음성 메시지 동작을 설명하는 문서와 QA 시나리오 연결도 추가됐습니다. (#78016, #90415)
  • Skills/ClawHub: GitHub 저장소 기반 ClawHub 스킬 설치를 resolved install API로 처리합니다. 고정된 GitHub commit을 내려받고, 설치 정책 점검을 유지하며, 성공 뒤 설치 telemetry를 보고하도록 했습니다. (#90478) Thanks @Patrick-Erichsen.
  • Skills/ClawHub: 스킬 목록을 새로 고칠 때 스킬 파일마다 별도 filesystem watcher를 만들지 않도록 바꿨습니다. 큰 스킬 트리에서 watcher 한도에 걸리는 문제를 줄이기 위한 조치입니다.
  • Google Chat/channels: Google Chat 승인 흐름에 네이티브 승인 카드 action과 클릭 처리를 추가했습니다. 이제 승인 요청이 일반 메시지 흐름이 아니라 Google Chat 카드 UI에 맞게 표시됩니다.
  • Mobile: Android Provider와 모델 화면에서 만료 예정, 사용 불가, 해석 실패, 주의 필요 상태를 더 분명히 보여줍니다. Android에는 테마 모드 선택이 추가됐고, iOS 설정과 Talk 탭에서는 진단, Gateway 행, 첨부 라벨, fallback 문구, 사용할 수 없는 Talk 컨트롤도 접근 가능한 상태로 유지됩니다. (#90752, #91201)
  • Memory: QMD 검색에서 새 rerank 토글을 사용할 수 있게 했습니다. memory adapter 상태 점검은 기본 모델을 실제로 해석한 identity 기준으로 plain status를 확인합니다. (#61834)
  • Docs/tooling: Parallel 검색 문서를 추가하고, weather skill 안내를 web_fetch 중심으로 갱신했습니다. legacy openai-codex 인증 설명, release/test helper script 문서, CI와 debugging 작업을 위한 changed-test routing 문서도 보강했습니다. (#90028, #90250) Thanks @fuller-stack-dev.
  • Release/process: 릴리스 버전 체계를 YYYY.M.PATCH 월별 patch 번호 방식으로 전환했습니다. 전환 전 tag와의 호환성은 유지하면서 2026년 6월 기준 바닥 버전을 2026.6.5로 고정했습니다.
  • Release/process: 2026.6.5 beta train에 포함됐던 session metadata SQLite migration을 이번 릴리스에서는 미뤘습니다. 이 버전은 기존 JSON 기반 session metadata 경로를 유지하고, migration 위험은 main에서 계속 다룹니다.
  • Release metadata: OpenClaw 본체, publish 가능한 plugin manifest, 생성된 shrinkwrap, 앱 버전 metadata, iOS release note, Matrix plugin changelog, release baseline을 2026.6.5 release train에 맞춰 정렬했습니다.
  • Platform maintenance: Android, Swift/macOS, Docker, CodeQL, Buildx, Docker build/push, Codex Action dependency를 이번 release train에 맞게 갱신했습니다. (#74980, #81757, #86481, #86483, #90601)

Fixes 전체 목록

  • Channel content boundaries: QQBot이 응답을 보내기 전에 reasoning/thinking tag를 제거하도록 했습니다. 최종 답변은 유지하면서 내부 모델 사고 과정이나 <thinking> 형태의 내용이 사용자 채널에 노출되지 않게 막습니다. (#89913, #90132) Thanks @openperf.
  • Agents/MCP/providers: MCP 도구 결과에서 text/image가 아닌 block을 Provider 변환기로 넘기기 전에 정리합니다. 정상 이미지는 보존하고, resource_link, resource, audio, 잘못된 image block, 앞으로 추가될 non-text/image block은 텍스트 형태로 안전하게 바꿔 Anthropic 400 오류와 session history 오염을 방지합니다. (#90710, #90728) Thanks @RanSHammer and @849261680.
  • Anthropic/Codex/ACP/agent recovery: Anthropic stream start event를 message_start까지 늦춰 prompt cache 만료나 Gateway 재시작 뒤에도 기존 retry 복구가 작동하게 했습니다. 오래된 compaction thinking signature 제거, 서명 없는 thinking-only stall 감지, compaction 뒤 prompt fence 갱신, 빈 completion handoff 거부, parent streaming-off override와 shared progress commentary 보존, heartbeat metadata 전달, Codex session/thread migration edge case 보강도 함께 들어갔습니다. (#90667, #90697, #90163, #90108, #89874, #89505, #90632, #89302, #90729, #90317, #90319) Thanks @openperf, @100yenadmin, and @ooiuuii.
  • Agents/Codex/tools: MCP lease release가 더 이상 lastUsedAt을 갱신하지 않게 했습니다. prompt-cache tool name 보호, lean local tool catalog compact 유지, unreadable dynamic tool 격리, orphan tool error 표시, app-server monitoring 중 native subagent completion 결과 보존, background session 이름 생성의 regex backtracking 위험 완화도 포함됩니다. (#91124, #90612, #90022, #91235, #91233)
  • Provider/model resolution: Google Vertex ADC 인증 marker를 생성 catalog에 보존하고, 단일 Provider primary가 cooldown 뒤 다시 probe되도록 했습니다. Codex 모델 visibility 공유, 모르는 model auth에 대한 fail-closed 처리, Codex alias availability 보존, unresolved profile ref의 unknown 상태 유지, 모델 목록 조회 중 auth 해석 회피도 반영됐습니다. (#90506, #90609, #90717, #90702) Thanks @849261680.
  • Provider/model resolution: live Provider model catalog helper coverage를 유지하고, Ollama catalog metadata를 보존합니다. Google Provider prefix를 Gemini path에서 제거하고, Foundry Responses reasoning replay id, MiniMax M3 thinking, Vertex multi-region regional host, OpenRouter streamed generation cost 정산도 바로잡았습니다. (#91125)
  • Gateway/macOS/mobile: Gateway probe warning이 같은 identity로 중복 표시되지 않게 했고, node pairing 요청은 rate limit을 적용하면서 paired-node reconnect는 유지했습니다. macOS node mode가 정상 direct Gateway session에서 불필요하게 이탈하지 않게 했고, iOS 진단과 Gateway 행 접근성, Android build의 Linux ARM Gradle resource task 회피도 수정했습니다. (#85791, #90147, #90668, #90815) Thanks @giodl73-repo and @vrurg.
  • Gateway/security/config: owner-only HTTP tool을 gate로 보호하고, writable sandbox 안에서도 sandbox skill을 읽을 수 있게 했습니다. legacy agent registry와 Codex model metadata migration을 안전하게 처리하고, stalled MCP response body는 Gateway worker를 묶어두지 않도록 timeout 처리합니다. (#90261)
  • Gateway/config: config.patch가 merge key가 없는 array에 대해 명시적 replacement 의미를 보존합니다. replacement patch가 오래된 array 항목을 실수로 merge하지 않게 막는 수정입니다. (#91551)
  • SDK: event pump failure가 조용히 iterator shutdown 뒤에 숨지 않고 client 쪽에 드러나도록 했습니다.
  • Agents/transcripts: inline image payload redaction이 data URL과 복구된 transcript image까지 잡아냅니다. 저장되거나 export되는 transcript에 raw image byte가 새는 일을 막기 위한 보안성 수정입니다. (#91529)
  • Plugins/Gateway: bundled JavaScript plugin에서 넘어오는 legacy flat Control UI descriptor를 session descriptor로 normalize합니다. name과 누락된 surface field를 보강해 package-backed plugin validation에서 Kitchen Sink RPC descriptor proof가 다시 통과하도록 했습니다.
  • TUI/chat/Workboard/auto-reply: 오래된 history reload, runId 재할당, abort 구간에서도 optimistic user message가 사라지거나 튀거나 ghost row로 남지 않게 했습니다. Workboard stale lifecycle bulk update가 더 최신 status/provenance를 덮어쓰지 않게 했고, message-tool send도 delivery로 집계합니다. (#86205, #89600, #88592, #90123) Thanks @RomneyDa.
  • Cron/update/service env: doctor config preflight가 runtime read 전에 legacy cron JSON store를 SQLite로 이전합니다. isolated agent turn payload message는 timeout context를 보존하고, service env planning은 state-dir .env 값을 가릴 수 있는 unresolved placeholder를 건너뜁니다. session transcript rewrite는 registry marker와 discriminant 일관성을 유지합니다. (#90072, #90208, #91230, #90277, #90488) Thanks @MonkeyLeeT and @sallyom.
  • State/storage: Matrix sync와 crypto sidecar, memory-wiki import/source-sync state, sandbox registry state, ACPX process state, device-pair notify state, Zalo hosted media, plugin SDK dedupe state가 ad hoc runtime file 대신 SQLite 소유 storage를 사용하도록 바뀌었습니다. (#91100, #91108, #91056)
  • Security/config/tooling: MCP HTTP redirect를 보호하고, global agent config default를 지키며, release/test/tooling proof failure가 끝없이 커지지 않고 명확한 경계 안에서 실패하도록 했습니다. (#89732, #90145)
  • Channels: WhatsApp은 account별 config 변경 시 재시작하고, background startup wait에 제한을 두며, 실패한 socket을 닫고 reconnect 동작을 보존합니다. Mattermost slash command state는 globalThis에 유지하고, 기본 답변은 새 thread를 만들지 않고 기존 Mattermost thread 안에 남습니다. Feishu streaming card는 병합된 전체 content를 보존하고, iMessage private API failure와 send timeout은 원인을 설명하며, split-send coalescing은 balloon metadata를 존중합니다. voice-call은 Twilio stream을 connect 뒤 추적하고, ClickClack reply tool은 toolsAllow를 지키며, Discord runtime adapter resolution과 outbound delivery retry도 보강됐습니다. (#87951, #87965, #90486, #68113, #90534, #90181, #90607, #89500, #91041, #90858, #91119, #91241) Thanks @MukundaKatta, @mcaxtr, @infoanton, @mushuiyu886, @sahibzada-allahyar, and @jacobtomlinson.
  • Feishu: HTTP 429, per-chat code 230020, tenant-level code 11232 같은 일시적 rate-limit send error를 linear backoff로 재시도합니다. SDK가 예외를 던지지 않고 rate-limit body로 응답하는 경우도 처리하며, streaming-card send도 같은 retry wrapper를 거칩니다. (#89659) Thanks @ladygege.
  • WhatsApp: 재시작 뒤 잡힌 reply가 예전 controller가 아니라 후속 controller를 통해 route되도록 했습니다. (#85823)
  • Release/CI/E2E: main CI guard drift, PR merge diff scoping, live Docker credential staging, base-image qualification, installer Docker classification, Playwright dependency install recovery, Codex live Docker lane의 API-key auth, Parallels option terminator, JSON-mode progress handling을 더 엄격하게 만들어 release proof가 더 깨끗하게 실패하도록 했습니다. (#90532, #90287, #90058) Thanks @RomneyDa, @hxy91819, and @mrunalp.
  • Release/CI/E2E: 설치된 package root의 dist 검증이 현재 package의 JavaScript file count를 허용합니다. dependency, per-file-size, scan-bound check는 그대로 유지됩니다.
  • Release/CI/E2E: Chutes OAuth model-discovery proof가 표준 Headers request를 받아들이고, QR package install smoke는 Docker CPU request를 hosted runner 용량에 맞게 제한해 beta validation이 실제 package regression에 집중하도록 했습니다.
  • Release/CI/E2E: Docker E2E와 live Docker harness run에 기본 memory, CPU, process 제한을 적용했습니다. 각 lane의 명시적 override는 계속 존중합니다.
  • Release/CI/E2E: Docker E2E CPU limit을 runner 용량에 맞게 제한합니다. hosted 8-vCPU runner에서 package Telegram acceptance가 불가능한 Docker resource request가 아니라 package regression에 집중하도록 하기 위한 수정입니다.
  • Release/CI/E2E: task maintenance release check가 isolated temp state dir 주변의 pinned config를 reset합니다. 일반 CI가 오래된 process snapshot이 아니라 active session-store fixture를 기준으로 돌게 했습니다.
  • Release/CI/E2E: plugin lifecycle matrix resource sampling이 RSS, wall-clock, CPU 한도를 넘은 phase를 단순 기록이 아니라 실패로 처리하도록 했습니다.
  • Release/CI/E2E: Codex npm plugin live assertion에서 transcript discovery와 diagnostic log read를 제한해 실패 증거 수집이 과도하게 커지지 않도록 했습니다.
  • Release/CI/E2E: browser snapshot, release scenario, release user journey, Telegram desktop/RTT/package, web-search, Parallels update, plugin update, doctor switch, upgrade-survivor diagnostic이 log와 artifact read를 streaming하거나 제한하도록 바뀌었습니다. 실패한 proof도 확인 가능한 크기 안에 남게 하는 조치입니다.
  • Release/CI/E2E: Parallels smoke validation이 host의 pnpm 없이도 실행됩니다. 이미 시작된 Windows/Linux guest를 snapshot 없이 다루고, 비어 있는 snapshot metadata를 명확히 보고하며, Windows의 portable user-local Node를 찾습니다.
  • Release/CI/E2E: ClawHub publish job은 target ref checkout 뒤 dependency를 준비합니다. Docker store seed package discovery는 의도한 production package를 대상으로 삼도록 수정됐습니다. (#91547)
  • Release/CI/E2E: QA Lab capability-flip release validation이 의도된 tools.deny restore를 array replacement로 표시합니다. beta validation이 실제 capability regression에 대해서만 실패하도록 한 수정입니다.
  • Tests/state isolation: QA Lab valid-tool-call metric은 runtime parity data가 있으면 runtime tool-call evidence를 요구합니다. tool-backed scenario pass status만으로 통과 처리하지 않습니다.
  • Tests/state isolation: QA Lab runtime parity는 matching tool result가 없는 planned-only tool-call row를 실패로 처리합니다. mock plan이 맞아 보인다는 이유만으로 실제 tool evidence처럼 보지 않습니다.
  • Tests/state isolation: QA Lab runtime parity는 통제된 tool error가 서로 맞으면 동등하게 취급하고, mock debug row에서 async image-generation start를 놓친 경우 transcript tool result로 fallback합니다.
  • Tests/state isolation: QA suite는 skipped summary, 누락된 runtime tool proof, planned-only row, 느슨한 release limit, 누락된 live/provider artifact, 실패한 agent reply marker, package Telegram summary failure를 닫힌 방식으로 실패 처리합니다.
  • Tests/state isolation: provider, media, auth, cron, task, session, sandbox, Gateway, Codex timeout fixture가 home/state/env data 범위를 더 좁게 잡습니다. 테스트 간 상태 누수를 줄이고 release validation failure의 잡음을 낮추는 변화입니다. (#90027, #89974)
  • Sessions: beta SQLite downgrade rescue가 active non-empty JSON session store에 대해서는 추가 pre-read를 건너뜁니다. cache race detection은 유지하면서, 없거나 비어 있는 beta session file 복구도 계속 수행합니다.


사용자 입장에서 달라지는 점

이번 버전에서 가장 직접적인 변화는 채널 응답과 도구 결과의 안전성입니다. QQBot은 내부 reasoning/thinking 내용을 제거한 뒤 답변을 보내고, MCP 도구가 더 복잡한 content block을 반환해도 Provider 변환 단계에서 안전하게 정리됩니다. Anthropic extended thinking을 쓰는 세션도 prompt cache 만료나 Gateway 재시작 뒤 복구 가능성이 높아졌습니다.

검색 쪽에서는 Parallel이 기본 포함 web-search Provider로 들어왔습니다. PARALLEL_API_KEY를 설정한 환경에서는 온보딩과 문서 흐름을 따라 더 쉽게 검색 Provider를 연결할 수 있습니다.

모바일과 채널 운영 환경도 안정성이 좋아졌습니다. Matrix 음성 메시지와 스레드 흐름, Google Chat 승인 카드, Android/iOS Provider와 Talk 화면, WhatsApp과 Feishu, Mattermost, iMessage, Discord, ClickClack, Zalo 계열 동작이 각각 보강됐습니다. 채널을 통해 OpenClaw를 실제 운영하는 환경에서는 전송 누락, 재시작 후 reply route 꼬임, rate-limit 처리 실패 같은 문제가 줄어드는 효과가 있습니다.

릴리스와 테스트 쪽도 크게 다듬어졌습니다. Docker, Parallels, ClawHub, QA Lab, Telegram package validation, plugin lifecycle, Codex npm plugin proof가 더 명확한 한도 안에서 실패하도록 바뀌어, 운영자와 개발자가 문제 원인을 찾기 쉬워졌습니다.


업데이트 전 체크할 점

  • 이번 버전은 이미 session metadata SQLite migration을 미루고 JSON 기반 경로를 유지하도록 정리된 release train입니다. beta train을 직접 쓰던 환경이라면 session metadata 상태를 한 번 확인하는 것이 좋습니다.
  • Parallel 검색을 쓰려면 PARALLEL_API_KEY 설정이 필요합니다. 기존 web-search Provider와 함께 쓰는 경우 Provider 우선순위와 onboarding 설정을 확인해야 합니다.
  • Google Vertex ADC, Codex alias, Ollama, Foundry, MiniMax M3, OpenRouter, Vertex multi-region 같은 Provider 구성을 쓰는 환경은 업데이트 뒤 모델 목록과 실제 호출을 한 번 점검하는 편이 안전합니다.
  • WhatsApp, Feishu, Mattermost, iMessage, Discord, Matrix, Google Chat, QQBot을 운영 중이라면 실제 송수신, 승인 카드, 스레드 답장, rate-limit retry, 재시작 후 reply route를 간단히 검증하는 것이 좋습니다.
  • ClawHub GitHub-backed skill install이나 plugin lifecycle validation을 쓰는 경우 설치 pin, trusted record, resource sampling failure 기준이 기대와 맞는지 확인해야 합니다.

changelog 원문 링크

  • https://raw.githubusercontent.com/openclaw/openclaw/main/CHANGELOG.md