Release and CI

v2026.6.11

Notas de versão do OpenClaw v2026.6.11 (2026-06-30)

Ouvimos o feedback. A v2026.6.11 se concentra nas arestas que faziam o OpenClaw parecer menos confiável, com correções para respostas no lugar errado, envios travados, reconexões, falhas de configuração de modelos e padrões administrativos mais seguros.

Destaques

Confiabilidade da entrega em canais

Em Telegram, WhatsApp, Matrix, Google Chat, iMessage, Feishu e Mattermost, respostas, comandos, mensagens em fila e anexos têm menos probabilidade de serem descartados, duplicados, encaminhados incorretamente ou anexados à conversa errada.

Fontes e colaboradores
  • Corrige mensagens diretas mais recentes do Google Chat que às vezes eram tratadas como conversas em grupo, para que cheguem ao chat individual correto enquanto mensagens de espaços e chats em grupo mantêm o roteamento existente. #58993 Agradecemos a @starhappysh, @vincentkoc.
  • Respostas de voz do Feishu enviadas pelo OpenClaw agora mostram sua duração no balão de chat, para que os destinatários possam ver quanto tempo o áudio tem antes de reproduzi-lo. #89172 Relacionado a #53798. Agradecemos a @areslp, @fxz26284407, @kinrocw.
  • Respostas do Discord e Telegram e o histórico de chat espelhado permanecem vinculados à conversa pretendida com mais consistência, inclusive entre respostas repetidas do Telegram e mudanças de sessão. #89911 Agradecemos a @jalehman.
  • Resultados de imagem, vídeo e música em segundo plano agora retornam ao chat que os solicitou quando a tarefa começa sem um alvo de conversa completo, em vez de parecerem falhar após a criação ou serem enviados ao par errado conforme a sessão muda. #89949 Relacionado a #86034. Agradecemos a @tianxiaochannel-oss88, @wangwllu.
  • Respostas do Telegram agora permanecem anexadas à pergunta atual do usuário quando ele cita uma mensagem anterior do bot, enquanto citações de mensagens de outras pessoas ainda respondem à citação selecionada. #90475 Agradecemos a @moeedahmed.
  • Administradores de grupos do QQBot podem escolher quão amplamente os comandos de barra ficam disponíveis, e comandos somente privados agora direcionam usuários para um chat privado em vez de serem expostos ou ignorados silenciosamente em grupos. #92154 Agradecemos a @sliverp.
  • Verificações de Heartbeat usando modelos com capacidade de raciocínio agora mostram a resposta pretendida do assistente em vez de expor raciocínio interno no Telegram, WhatsApp e outros canais, enquanto mensagens opcionais de Pensamento continuam funcionando. #92356 Relacionado a #92260. Agradecemos a @jmpei, @tangtaizong666, @vincentkoc.
  • Chats em modo de progresso do Telegram agora limpam um balão de progresso antigo antes que saídas de ferramentas ou artefatos mais recentes apareçam, mantendo a conversa em uma ordem limpa e legível. #93002 Relacionado a #90753. Agradecemos a @shadow-enthusiast, @zhangguiping-xydt.
  • Mensagens de comando e link do iMessage agora permanecem juntas como um único turno do OpenClaw quando prévias de link atrasadas chegam, enquanto mensagens rápidas não relacionadas permanecem separadas para usuários que ativaram a agregação de DMs do mesmo remetente. #93143 Agradecemos a @omarshahine.
  • Respostas bem-sucedidas do Discord enviadas pela ferramenta de mensagens não acionam mais um aviso de falha enganoso em turnos de canal de origem message_tool_only afetados. #94072 Relacionado a #93875. Agradecemos a @chenyangjun-xy, @hoyanhan, @vincentkoc.
  • Conversas em grupo do WhatsApp agora preservam o contexto correto da mensagem e do grupo com mais confiabilidade durante novas tentativas, reconexões e mudanças de grupo. #94338 Relacionado a #7433. Agradecemos a @mcaxtr, @octopuslabs-fl, @xialonglee.
  • Corrige casos em que o OpenClaw às vezes respondia aos próprios ecos atrasados do iMessage quando caracteres iniciais inesperados impediam que a mensagem enviada fosse reconhecida. #94442 Agradecemos a @ly-wang19.
  • Usuários de Webhook do Telegram podem continuar recebendo DMs e mensagens de grupo durante breves reinicializações de canal, recarregamentos de configuração e ciclos de recuperação sem apagões temporários de mensagens. #94506 Relacionado a #90254. Agradecemos a @obviyus, @travellingsoldier85, @xialonglee.
  • Gateways Matrix E2EE podem permanecer online durante uso prolongado em vez de consumir memória gradualmente até que uma falha derrube canais e trabalhos em andamento. #94942 Relacionado a #90455. Agradecemos a @xzh-icenter, @yar-sh.
  • Usuários do Telegram agora veem a reação nativa pretendida em vez de instruções vazadas ou uma resposta somente de reação descartada, com sucesso registrado apenas depois que o Telegram a aceita. #94977 Relacionado a #71140. Agradecemos a @cuttingwater, @hugenshen.
  • Atualizações de progresso do Telegram para comandos, pesquisas, atualizações e atividade de API agora permanecem legíveis em vez de expor HTML ruidoso ou linhas em estilo de código, com fallback em texto simples quando o Telegram não consegue analisar a formatação. #95007 Relacionado a #95002.
  • Conversas do Telegram continuadas no WebChat agora mostram uma resposta do assistente por turno e mantêm respostas posteriores com a conversa ativa em vez de duplicar respostas ou enviá-las de volta ao Telegram. #95069 Relacionado a #94930. Agradecemos a @heichaowo.
  • Google Chat agora oculta banners internos de falha enganosos quando o resultado de uma ferramenta é inofensivo, deixando os usuários com a resposta concluída enquanto o texto normal do assistente permanece inalterado. #95084 Relacionado a #90684. Agradecemos a @jailbirt, @studentzhou-svg.
  • Conversas de canal multiagente vinculadas agora carregam os arquivos do workspace para o agente configurado em vez do agente padrão, embora conversas anteriormente arquivadas incorretamente possam começar do zero no armazenamento corrigido do agente. #95118 Relacionado a #92903. Agradecemos a @849261680, @axjing.
  • Pessoas que compartilham um Gateway OpenClaw agora podem atribuir modelos diferentes a contatos individuais de mensagens diretas nos canais de chat compatíveis, enquanto escolhas existentes de modelo para grupos e curingas continuam funcionando como antes. #95120 Relacionado a #53638. Agradecemos a @gandalf-at-lerian, @thomaszta, @xydigit-zt.
  • Telegram agora mostra que o OpenClaw ainda está trabalhando durante prévias iniciais curtas ou respostas em modo de progresso, em vez de deixar o chat em silêncio até a mensagem final chegar. #95183 Relacionado a #95004. Agradecemos a @obviyus.
  • Usuários e operadores do Matrix agora recebem uma falha clara quando um homeserver envia uma resposta grande demais ou travada, em vez de o OpenClaw continuar armazenando-a em buffer e arriscar uso ilimitado de memória. #95240 Agradecemos a @alix-007.
  • Corrige respostas atrasadas ou ausentes do Telegram e de outros canais em fila em implantações no estilo Kubernetes com muitas variáveis de ambiente injetadas, nas quais abrir o banco de dados da fila podia travar o Gateway. #95278 Relacionado a #94571. Agradecemos a @kaka-srp.
  • Chats do Telegram se recuperam depois que uma mensagem travada expira, permitindo que mensagens posteriores no mesmo chat ou tópico cheguem ao agente sem reiniciar o Gateway. #95299 Relacionado a #95248. Agradecemos a @kriegerbangerz-ship-it, @mikasa0818, @obviyus.
  • Quando pessoas alternam entre o Telegram e outro cliente OpenClaw em uma conversa direta compartilhada, respostas curtas do Telegram agora seguem a conversa mais recente em vez de responder a uma proposta antiga e não relacionada do Telegram. #95390 Relacionado a #95378. Agradecemos a @maiduy708, @mikasa0818, @obviyus.
  • Corrige mensagens concluídas do assistente que apareciam duas vezes no Telegram, Discord, Slack e outros chats com streaming depois de uma resposta com várias mensagens. #95432 Agradecemos a @vincentkoc, @yetval.
  • Respostas do WhatsApp agora permanecem anexadas à mensagem direta ou de grupo respondida em vez de aparecerem como uma mensagem separada que perde o contexto da conversa. #95483 Agradecemos a @mcaxtr.
  • Respostas de mensagens ricas do Telegram agora mantêm parágrafos, marcadores e linhas de status separados em vez de colapsar conteúdo multilinha em um único bloco contínuo, sem exigir mudança de configuração. #95532 Relacionado a #95409. Agradecemos a @amknight.
  • Operadores do Mattermost que ativam comandos de barra nativos agora podem usar /oc_queue diretamente no Mattermost para ajustar o enfileiramento de execuções ativas, incluindo seu modo, tempo de debounce, limite e tratamento de descarte. #95546 Agradecemos a @amknight.
  • Mensagens anteriormente permitidas continuam chegando a contas nomeadas após upgrades de canais multi-conta legados, com regras herdadas de acesso a DMs e grupos preservadas no Mattermost, Discord, Slack, Telegram, Signal, WhatsApp, iMessage e IRC. #95550 Agradecemos a @amknight.
  • Usuários do Mattermost podem continuar conversando em uma thread sem mencionar o bot novamente depois que ele responde, e essa participação sobrevive a reinicializações do Gateway até que a thread fique inativa por sete dias. #95552 Agradecemos a @amknight.
  • Mensagens recebidas do Telegram agora chegam prontamente à sessão OpenClaw configurada, em vez de ficarem sem resposta até o próximo intervalo de polling, uma reinicialização do Gateway ou intervenção manual. #95577 Relacionado a #86957. Agradecemos a @freidrich-goldenflow, @liuwqgit.
  • Usuários do QQBot agora recebem tabelas markdown completas quando separadores válidos usam um ou dois traços por coluna, em vez de perderem o cabeçalho e todas as linhas exceto a final. #95637 Agradecemos a @ly-wang19.
  • Usuários do Synology Chat agora podem receber respostas do agente que levam mais de 120 segundos quando o timeout central configurado permite, em vez de o canal rejeitá-las antecipadamente. #95707 Agradecemos a @sahibzada-allahyar, @vincentkoc.
  • Trabalhos de Cron em tópicos de fórum do Telegram agora mantêm alertas de falha configurados separadamente indo para o destino pretendido, mesmo quando o anúncio principal usa um tópico no mesmo chat. #95794 Agradecemos a @vincentkoc.
  • Corrige respostas em grupo do WhatsApp que podiam citar uma mensagem antiga do OpenClaw em vez da mensagem acionadora do usuário, para que respostas finais permaneçam anexadas à mensagem pretendida quando um alvo de resposta estiver disponível e evitem apontar de volta para contexto antigo do bot quando não estiver. #95914 Agradecemos a @mcaxtr.
  • Usuários do WhatsApp podem aprovar ou negar prompts por reação sem que o prompt fique travado quando o WhatsApp identifica o mesmo chat direto de forma diferente, enquanto aprovações em grupo permanecem vinculadas ao grupo e à pessoa corretos. #95935 Agradecemos a @mcaxtr.
  • O processamento da resposta final agora usa menos CPU quando o OpenClaw verifica se o texto do bloco já foi enviado, sem alterar qual resposta chega ao chat nem como texto duplicado é suprimido. #96087 Agradecemos a @vincentkoc.
  • Os resultados de aprovação de execução de plugins de canal externos agora retornam ao canal ou à DM onde o comando começou, em vez de voltar para o WebChat ou parecer desaparecer após a aprovação. #96140 Relacionado a #96103. Obrigado @lansenger-pm, @vincentkoc, @yetval.
  • A resposta final do WhatsApp agora permanece citada na mensagem de acompanhamento que um usuário acabou de enviar ao responder a uma mensagem antiga do OpenClaw, em vez de chegar sem citação ou apontar de volta para a resposta antiga do bot. #96220 Obrigado @mcaxtr.
  • Bots do Nextcloud Talk agora ignoram eventos comuns de compartilhamento de arquivos e de ciclo de vida sem registrá-los como erros de bot ou arriscar a desativação da entrega, enquanto cargas de chat malformadas ainda retornam um erro. #96243 Relacionado a #81566. Obrigado @arkyu2077, @rafaelmgbh, @vincentkoc.
  • Respostas e entrega por ferramenta de mensagem em canais do Mattermost agora usam orientações de canal e thread porque o agente identifica essas conversas como canais, não como chats em grupo, enquanto o comportamento existente de chats em grupo permanece inalterado. #96244 Relacionado a #95645. Obrigado @arkyu2077, @iloveleon19, @vincentkoc.
  • Integrações de canal MCP agora mantêm listas de conversas, leituras de mensagens, consultas de eventos e esperas dentro de limites previsíveis, mesmo quando um cliente solicita limites ou tempos limite excessivos. a39e548 Obrigado @vincentkoc.
  • Respostas automáticas transmitidas de longa duração têm menos chance de parar cedo ou abortar de forma inconsistente quando um tempo limite incomumente grande é configurado. 6c85b90 Obrigado @vincentkoc.
  • O progresso do canal agora mostra um status repetido quando o trabalho realmente retorna a ele após outra atualização, em vez de ocultar contexto útil como duplicado. 8a75c4d
  • Respostas de canal concluídas não recebem mais avisos tardios de progresso, impedindo que texto de status obsoleto apareça após a resposta ser finalizada. a594d2c Obrigado @vincentkoc.
  • Durante respostas de canal em streaming, mensagens de progresso agora continuam mostrando o estado mais recente, em vez de ficarem presas em uma atualização antiga. e114001 Obrigado @vincentkoc.
  • Redefinições forçadas do Matrix agora lidam com armazenamento secreto indisponível sem erro em tempo de execução, tratando o acesso de recuperação como indisponível para que o caminho de redefinição possa continuar com segurança. 5c5a8a4 Obrigado @vincentkoc.
  • Canais configurados agora permanecem visíveis em openclaw channels status --json, enquanto anúncios agendados rejeitam entradas obsoletas que não têm nenhum plugin ativo para entregá-las. a641c0d
  • Conversas de voz no Discord agora mantêm respostas consecutivas do assistente em andamento, para que uma resposta enfileirada seja reproduzida após o fluxo de áudio anterior ser encerrado, em vez de permanecer travada. 88b64e4 Obrigado @vincentkoc.
  • Pré-visualizações de progresso no Discord têm menos chance de parar antes das edições finais quando uma resposta do agente já começou a chegar. 86ea382
  • Chats não mostram mais texto NO_REPLY solto quando o assistente pretende ficar em silêncio, enquanto respostas legítimas de mídia ainda chegam sem o placeholder. 96c6f80
  • Respostas em streaming do Telegram agora mostram cada título de progresso uma vez, mantendo atualizações de ferramentas e buscas mais fáceis de examinar. 013e33c Obrigado @vincentkoc.
  • Mensagens do Telegram que ficam travadas após uma tarefa de longa duração, falha ou reinicialização do Gateway agora retomam o processamento automaticamente, para que mensagens posteriores não esperem mais silenciosamente nem exijam que operadores reparem a fila manualmente. #97543 Obrigado @romneyda, @vincentkoc.

Recuperação de provedor e modelo

A seleção de modelo e a configuração se recuperam com mais clareza quando catálogos, credenciais, fluxos, tempos limite, Compaction ou fallbacks falham. As configurações afetadas de OpenAI, OpenRouter e OpenCode Go agora relatam ou se recuperam de falhas de forma mais consistente, em vez de deixar os usuários com uma escolha obsoleta ou uma solicitação travada.

Correções de acompanhamento para o modo rápido melhoram seu comportamento nos caminhos afetados de provedores e fallbacks; o modo rápido automático em si não é novo nesta versão.

Fontes e colaboradores
  • A conversão de texto em fala e as notas de voz da MiniMax têm menor probabilidade de falhar porque o OpenClaw agora solicita explicitamente o formato de áudio que consegue decodificar, em vez de depender dos padrões do provedor. #73079 Obrigado @efe-arv.
  • Operadores do Gateway podem ver novamente provedor, modelo, status da solicitação e detalhes de tempo nos logs normais, facilitando o diagnóstico de problemas de roteamento de modelos e transporte sem ativar logs extras de depuração. #89648 Relacionado a #89300. Obrigado @enominera, @xiaobao-k8s.
  • Modelos acessados por Google, Mistral, OpenAI Responses, Azure OpenAI Responses e ChatGPT/Codex Responses agora recebem instruções de sistema limpas, sem o marcador interno de limite de cache do OpenClaw vazando para o prompt. #89716 Obrigado @enominera, @masatohoshino.
  • Chamadas de ferramenta Cron que usam modelos Gemini por meio de provedores compatíveis com OpenAI agora são executadas sem que campos anuláveis acionem rejeições de esquema do provedor. #91559 Relacionado a #91542. Obrigado @pick-cat, @qiukui666.
  • IDs de modelo qualificados por provedor agora respeitam as políticas de runtime de agente configuradas e os aliases da CLI, em vez de recorrer inesperadamente ao runtime padrão do OpenClaw. #91724 Obrigado @vincentkoc, @yu-xin-c.
  • A lista de chat /models e outros caminhos de seleção de modelo ou provedor cientes de Plugin agora respondem rapidamente, em vez de travar por segundos e consumir um núcleo de CPU com varreduras repetidas de configuração, enquanto alterações de Plugin ainda são atualizadas normalmente. #93356 Obrigado @obuchowski.
  • Usuários do Ollama Cloud hospedado podem manter apenas os modelos que configuraram explicitamente após uma reinicialização, sem que o catálogo compartilhado completo seja adicionado de volta, enquanto a descoberta automática continua para servidores Ollama locais e auto-hospedados. #93956 Obrigado @jason-allen-oneal.
  • Trabalhos Cron agora podem tentar novamente ou alternar para um modelo de fallback configurado quando um provedor local retorna o erro genérico LLM request failed., em vez de falhar com o fallback sem uso. #94062 Relacionado a #93931. Obrigado @hugenshen.
  • Tokens de provedor expirados não soterram mais logs úteis de operador sob avisos repetidos de fallback, enquanto o primeiro aviso e resumos posteriores de duplicatas continuam disponíveis para diagnóstico. #94233 Relacionado a #56979. Obrigado @goutamadwant, @yanan1991.
  • Google Gemini 3.5 Flash agora pode ser selecionado com sua janela de contexto completa de 1.048.576 tokens, evitando erros de modelo ausente e rejeições desnecessárias de tamanho de prompt. #94726 Relacionado a #94723. Obrigado @ajwan8998, @anguslogan01, @kevinat.
  • Sessões filhas do dashboard agora tratam escolhas permitidas de modelos qualificados por provedor de forma consistente e fornecem orientação de recuperação precisa quando o estado salvo do modelo está desatualizado. #94752 Relacionado a #94713. Obrigado @gr4via.
  • Usuários da Claude CLI não recebem mais promessas de atualizações de conclusão que talvez nunca cheguem, porque o OpenClaw agora bloqueia trabalho nativo em segundo plano sem suporte antes que ele possa deixar o progresso encalhado. #95008 Obrigado @anagnorisis2peripeteia.
  • O OpenClaw agora rejeita respostas JSON ou catálogos de provedor grandes demais com um erro claro antes de armazenar a resposta inteira na memória. #95218 Obrigado @alix-007.
  • Usuários do OpenRouter agora podem selecionar e executar os IDs curtos anunciados do modelo DeepSeek V4 sem que as solicitações falhem com model_not_found porque o OpenClaw enviou um prefixo de provedor duplicado. #95268 Relacionado a #95198. Obrigado @daniel-alejandro-t, @darren2030.
  • Com /reasoning on, modelos compatíveis com OpenAI no estilo DeepSeek agora mostram a resposta final separadamente do raciocínio, em vez de incorporá-la ao bloco de raciocínio, sem exigir alteração de configuração. #95283 Relacionado a #95280. Obrigado @marvinthebored, @vincentkoc, @zengwen-dt.
  • Quando uma assinatura do Codex atinge seu limite de uso, o OpenClaw agora passa para modelos de fallback configurados em vez de parar no resultado com falha, e não tenta novamente execuções que já produziram saída visível. #95400 Obrigado @jason-allen-oneal, @sallyom.
  • Usuários do LM Studio agora podem executar modelos locais quantizados ou com múltiplas variantes sem falsas falhas de turno do assistente ou entradas fantasma de modelo com sufixo causadas por chaves de modelo incompatíveis. #95401 Obrigado @monkeyleet.
  • Execuções de agente incorporado baseadas no Google agora param de ler respostas de cache de prompt grandes demais ou intermináveis antes que possam esgotar a memória ou deixar a execução travada. #95417 Obrigado @alix-007.
  • Varreduras de modelos do OpenRouter falham com segurança em catálogos grandes demais ou malformados, em vez de arriscar uso excessivo de memória que pode desestabilizar o OpenClaw. #95418 Obrigado @alix-007.
  • Configurações do OpenRouter agora rejeitam catálogos de modelos grandes demais antes que possam esgotar a memória do OpenClaw, sem armazenar em cache nem buscar novamente imediatamente a resposta com falha. #95420 Obrigado @alix-007, @sallyom.
  • Modelos de fallback configurados agora podem responder quando a Claude CLI fica sem créditos ou encontra uma falha genérica do executor, em vez de deixar usuários com a mensagem de falha como resposta final. #95508 Relacionado a #95489. Obrigado @mikasa0818, @riazrahaman, @sallyom.
  • Pesquisas na web baseadas no Gemini usando freshness: "day" ou pd agora são concluídas, em vez de falharem com um erro 400 do provedor, enquanto escolhas de atualização mais amplas e intervalos de datas explícitos mantêm filtragem mais rigorosa. #95682 Obrigado @sunjae-k, @vincentkoc.
  • Respostas de acompanhamento de modelos de raciocínio da xAI, como Grok Composer, agora preservam o contexto de raciocínio anterior de forma mais confiável, mesmo quando esforço de raciocínio configurável não tem suporte. #95686 Obrigado @fuller-stack-dev, @geraint0923.
  • Usuários do Vercel AI Gateway agora podem executar modelos escolhidos do catálogo em tempo real, incluindo IDs de modelo disponíveis apenas em tempo real que estão ausentes da lista empacotada do OpenClaw. #95710 Obrigado @vincentkoc.
  • Corrige provedores definidos por manifesto que transformavam IDs de modelo válidos em IDs quebrados quando entradas stripPrefixes tinham espaços extras ou uso diferente de maiúsculas e minúsculas, para que operadores e autores de Plugin recebam o modelo de provedor pretendido. #95744 Relacionado a #95743. Obrigado @parveshsaini.
  • A configuração de primeira execução agora abre o prompt de credenciais para um provedor externo recém-instalado, em vez de parecer entrar em loop e deixar OpenAI selecionado. #95792 Relacionado a #95765.
  • Catálogos de provedor grandes demais ou travados agora falham rapidamente com um erro claro, em vez de travar o OpenClaw ou consumir memória sem limite, enquanto catálogos normais continuam carregando. #95827 Obrigado @alix-007.
  • Usuários do Xiaomi Token Plan agora podem usar até 128K tokens de saída com mimo-v2.5 e mimo-v2.5-pro, em vez de serem interrompidos no limite desatualizado de 32.000 tokens. #95934 Obrigado @idootop.
  • Respostas de modelo com muitas ferramentas podem transmitir com menos sobrecarga, enquanto IDs repetidos de chamadas de ferramenta e detalhes de raciocínio criptografados permanecem associados à chamada correta em provedores Google e compatíveis com OpenAI. #95957 Obrigado @vincentkoc.
  • A contabilização de uso de tokens é mais confiável para usuários do ACPX empacotado porque o OpenClaw agora inclui por padrão a correção de persistência do ACPX 0.11.2, sem uma substituição de pacote separada ou atualização manual do cliente. #96124 Obrigado @vincentkoc.
  • Usuários do Ollama Cloud agora podem encontrar e selecionar glm-5.2:cloud com sua janela de contexto de 1.000.000 tokens, raciocínio e suporte a ferramentas, mesmo quando ele está ausente da lista pública de modelos. 11484f8
  • Solicitações de compreensão de imagem da MiniMax não falham mais antes de chegar ao provedor quando um tempo limite é zero, negativo ou extremamente grande; valores inválidos agora usam uma espera normal ou um máximo seguro. 4b6182e Obrigado @vincentkoc.
  • Execuções do Codex agora seguem a escolha atual de modo rápido, em vez de carregar um nível antigo de velocidade, e a linha de status mostra claramente quando o modo rápido é automático. 77012f9 Obrigado @vincentkoc.
  • Conversas baseadas no Codex agora retornam ao roteamento normal depois que o modo rápido automático é limpo, impedindo que turnos posteriores ou alterações de modelo reutilizem um nível de prioridade obsoleto. 8afc1f7
  • Execuções de agente de fallback agora respeitam o limite automático de modo rápido configurado de cada modelo, mesmo quando o modo rápido é sobrescrito para a execução, mantendo o comportamento de fallback alinhado à política do modelo selecionado. efd3172
  • Novas tentativas de troca de modelo em tempo real agora preservam o limite original de modo rápido para sessões de longa duração, enquanto o modo rápido explícito evita mensagens de progresso enganosas de limite automático. d990115 Obrigado @vincentkoc.
  • Execuções de agente incorporado agora mantêm o modo rápido automático funcionando de forma consistente durante novas tentativas e atualizações de progresso sem confundi-lo com uma configuração de modo rápido selecionada manualmente. cf1b6fe Obrigado @vincentkoc.
  • Execuções em modo rápido agora mantêm sua configuração de velocidade durante novas tentativas de fallback de modelo e mostram o limite automático configurado no status, evitando comportamento inconsistente de nova tentativa e um rótulo genérico pouco útil. aa3797c Obrigado @vincentkoc.
  • Respostas de agente e execuções Cron agendadas agora tratam novas tentativas de fallback de modo rápido com mais confiabilidade, mantendo o estado necessário para a tentativa final terminar ou relatar o progresso corretamente. 14e448e Obrigado @vincentkoc.
  • Usuários não veem mais um aviso de redefinição de modo rápido enquanto tentativas de fallback de modelo ainda estão em execução; ele aparece somente quando a execução chega à sua tentativa final de fallback. 6eb72a8
  • Usuários e operadores agora têm tratamento mais claro quando um modelo em tempo real configurado fica indisponível, porque o OpenClaw reconhece a resposta do provedor "selected model was not found" como uma falha de modelo não encontrado, em vez de um erro genérico. 2405d02 Obrigado @vincentkoc.
  • Qwen e vLLM agora preservam consistentemente as configurações existentes de modelo de chat quando o raciocínio é ativado ou desativado, e plugins de provedor podem usar o mesmo auxiliar testado. 2ba9d6e Obrigado @vincentkoc.
  • Provedores de proxy compatíveis com OpenAI podem lidar com níveis de raciocínio e campos legados reasoning_effort de forma mais consistente, com desenvolvedores de plugins e mantenedores de provedores usando um único auxiliar de normalização documentado no OpenRouter, Kilocode e SDK. 35bafea
  • Builds de navegador e Vite agora podem carregar o provedor OpenAI ChatGPT Responses sem que uma dependência exclusiva de servidor quebre o bundle, enquanto falhas de WebSocket continuam aparecendo normalmente. 8c8eb86 Obrigado @vincentkoc.
  • Varreduras de modelos do OpenRouter agora aceitam os mesmos catálogos válidos maiores da descoberta em tempo de execução, enquanto ainda rejeitam respostas grandes demais antes que possam consumir memória sem limite. ad3b2f4 Obrigado @vincentkoc.
  • Usuários do OpenAI Responses, incluindo configurações de raciocínio afetadas do Bedrock Mantle GPT-5.x, agora recebem uma única resposta final limpa, com transcrições salvas e contexto de replay alinhados, em vez de dezenas de cópias cumulativas repetidas. #92399 Relacionado a #91959. Obrigado @amersheeny, @daimingnj, @phoenixyy, @pigfoot.
  • Tarefas agendadas e sessões isoladas usando modelos opencode-go agora movem solicitações travadas para o tratamento configurado de timeout ou fallback, em vez de ficarem penduradas por minutos antes de terminar com um erro genérico LLM request failed. #93965 Relacionado a #93610. Obrigado @forceconstant, @zhangguiping-xydt.
  • Depois de alterar o modelo padrão, iniciar uma nova sessão de canal com /new ou /reset agora usa o novo padrão em vez de reutilizar silenciosamente o modelo anterior em cache, enquanto substituições explícitas com /model permanecem inalteradas. #77339 Relacionado a #77322. Obrigado @mjamiv, @zaynl.
  • Atrás de proxies HTTP ou HTTPS, verificações de uso e cota do Codex/OpenAI em openclaw status --usage --json e na Control UI agora recuperam janelas de uso em vez de falhar quando chatgpt.com não pode ser acessado diretamente. #93943 Relacionado a #78714. Obrigado @tnzgit, @turbotheturtle.
  • /status agora mantém o modelo ativo e como limpar uma escolha fixada em uma linha compacta, para que usuários do Discord e de outros chats possam examinar o status do modelo sem uma explicação de várias linhas. #95797 Obrigado @solvely-colin.
  • Respostas em streaming da Anthropic agora mantêm textos, raciocínio e atualizações de chamadas de ferramenta intercalados anexados ao bloco de resposta correto, em vez de misturá-los quando vários blocos estão ativos ao mesmo tempo. #96013 Obrigado @vincentkoc.

Continuidade de sessão, memória e confiança

Sessões, compaction, memória e memória baseada em QMD preservam a conversa pretendida e o contexto útil de forma mais consistente durante trabalhos de longa duração, reconexões, atualizações e reparo de transcrições. A busca de ferramentas também se comporta de forma mais confiável quando os agentes precisam recuperar o contexto ou a capacidade correta.

A recuperação criptografada do Matrix para com segurança quando o estado de chave necessário não pode ser verificado. Políticas de ferramentas, aprovações e tratamento de segredos permanecem associados ao estado de runtime pretendido, com ações de maior risco permanecendo desabilitadas, a menos que sejam habilitadas explicitamente.

Fontes e colaboradores
  • Conversas de agentes afetadas que usam OpenAI Responses agora podem se recuperar e continuar respondendo depois que uma resposta visível do canal deixa o histórico salvo incompleto, em vez de todos os turnos posteriores falharem antes que uma resposta apareça. #84708 Agradecimentos a @anyech.
  • Quando um agente baseado em Codex produz uma saída de ferramenta incomumente grande, conversas salvas e reproduzidas agora mantêm o texto dentro do limite de tamanho usual, deixando o conteúdo que não é texto inalterado. #87912 Agradecimentos a @adrianip0204.
  • Conversas da Control UI agora permanecem visíveis e continuam na mesma sessão após uma suspensão, queda de rede ou reconexão do Gateway, em vez de desaparecerem quando a próxima mensagem é enviada. #89017 Relacionado a #87700. Agradecimentos a @zhangguiping-xydt, @asicoe.
  • Integrações Codex e Copilot incluídas agora mantêm o histórico de chat espelhado e as atualizações de transcrição vinculados à sessão correta do OpenClaw à medida que o armazenamento evolui, enquanto transcrições ativas existentes baseadas em arquivo continuam funcionando durante a migração. #89518 Agradecimentos a @jalehman.
  • O status da sessão atual do WebChat agora corresponde à conversa que você está realmente usando, portanto a identidade da sessão, o nível de raciocínio, o contexto de tokens e os detalhes de custo não vêm mais da sessão de fallback main. #89800 Relacionado a #89773. Agradecimentos a @killo3967, @sweetcornna.
  • Sua conversa tem menos probabilidade de perder o contexto depois que você pressiona parar durante a Compaction automática, porque a solicitação de Compaction agora também é cancelada. #89886 Relacionado a #89868. Agradecimentos a @lykeion-dev, @openperf, @vincentkoc.
  • Quando o acesso entre sessões de agentes é bloqueado, o OpenClaw agora lista todas as configurações necessárias de visibilidade, agente para agente e lista de permissões, ajudando operadores a corrigir a configuração de política em vez de investigar uma falha de agente inexistente. #90489 Relacionado a #90443. Agradecimentos a @ramitrkar-hash, @sahibzada-allahyar, @vincentkoc.
  • openclaw memory status agora mostra uma fase ativa de light ou REM dreaming em vez de informar incorretamente Dreaming: off, para que operadores possam ver que configurações válidas de memória estão habilitadas. #93113 Relacionado a #67868. Agradecimentos a @agentarclab, @mrossit.
  • Buscas de memória QMD que atingem tempo limite agora interrompem o trabalho em segundo plano quando o agente avança, evitando que processos abandonados continuem consumindo CPU e memória. #93394 Agradecimentos a @alix-007.
  • Instruções repetidas enviadas após a Compaction agora permanecem na conversa, evitando turnos perdidos, respostas órfãs e histórico malformado que alguns provedores rejeitam. #94328 Agradecimentos a @vincentkoc, @yetval.
  • O relatório Stale Pages do Memory Wiki agora deixa páginas duráveis de conceitos e síntese fora dos avisos de atualidade, mantendo a atenção em páginas de origem e entidade que podem realmente precisar de revisão. #94369 Agradecimentos a @sunnyshu0925, @vincentkoc.
  • Execuções incorporadas longas com progresso recente agora têm menos probabilidade de serem interrompidas por recuperação de sessão obsoleta, enquanto execuções realmente travadas ainda podem ser limpas para que o trabalho em fila continue. #94701 Agradecimentos a @imadal1n, @mrclawfield.
  • A busca de memória do Ollama agora respeita uma dimensão de embedding menor configurada e mantém índices de dimensões diferentes separados, evitando que vetores incompatíveis sejam misturados. #94811 Agradecimentos a @mushuiyu886.
  • Buscas de memória e atualizações direcionadas agora permanecem conectadas à sessão correta do OpenClaw mesmo quando nomes de arquivos de transcrição mudam ou exportações QMD usam um nome diferente. #95087 Agradecimentos a @jalehman.
  • Conversas longas com capturas de tela ou outras imagens agora mantêm sua continuidade de forma mais consistente quando o OpenClaw abre espaço para novas mensagens, em vez de preencher repetidamente sem avançar a conversa retida. #95128 Agradecimentos a @yetval.
  • Usuários do Windows agora podem executar indexação e busca de memória baseadas em QMD por caminhos absolutos memory.qmd.command configurados, incluindo locais com letras de unidade e UNC, sem que o OpenClaw remova os separadores de caminho antes da inicialização. #95274 Relacionado a #92302. Agradecimentos a @ardooken, @ly85206559.
  • Rodapés de uso selecionados com /usage full ou /usage tokens agora permanecem visíveis após a troca diária ou o rollover de sessão ociosa, para que usuários não precisem ativá-los novamente. #95322 Agradecimentos a @litang9.
  • Respostas de acompanhamento, reações, mensagens em thread e verificações de status permanecem no chat ao qual pertencem após atividade do webchat ou do sistema, enquanto mudanças reais de canal ainda limpam detalhes de roteamento desatualizados. #95467 Agradecimentos a @yetval.
  • Conversas principais longas agora mantêm o contexto anterior quando usuários retornam após uma noite ou um acompanhamento atrasado, em vez de recomeçarem silenciosamente depois de uma conclusão normal. #95472 Agradecimentos a @xydt-tanshanshan.
  • Pessoas com históricos de sessão grandes podem listar, pré-visualizar e encontrar sessões sem congelamentos de vários segundos, enquanto chaves de sessão antigas com maiúsculas e minúsculas misturadas ainda são migradas na inicialização. #95699 Agradecimentos a @jalehman, @jzakirov.
  • Corrige respostas entregues que às vezes eram salvas no histórico da conversa errada, ou omitidas dele, quando operadores usam um session.store personalizado ou por agente, melhorando a continuidade e a auditabilidade da sessão pretendida. #95782 Relacionado a #95781. Agradecimentos a @youngting520.
  • Resumos salvos de memória de sessão agora deixam de fora tokens brutos do modelo, blocos de chamadas de ferramenta, placeholders de mídia, tags de função e marcadores NO_REPLY obsoletos para que conversas futuras mantenham contexto útil. #95791 Agradecimentos a @sweetsophia, @vincentkoc, @yb0y.
  • Sessões OpenAI longas usando OAuth do Codex/ChatGPT agora podem compactar sem uma chave de API separada, seja quando /compact é executado manualmente ou acionado automaticamente. #95831 Relacionado a #95693. Agradecimentos a @sallyom, @yui-tien.
  • Sessões longas e intensivas em ferramentas agora compactam conversas grandes demais em vez de travarem quando um resultado de ferramenta grande aparece no fim. #95860 Relacionado a #78478. Agradecimentos a @jw8957, @wzhgba, @yetval.
  • Quando memory_search está indisponível porque o runtime Node não tem node:sqlite, o OpenClaw agora direciona usuários a um runtime compatível em vez de levá-los por diagnósticos não relacionados do provedor de embedding. #95916 Agradecimentos a @rrrrrredy, @vincentkoc.
  • Desenvolvedores e operadores inspecionando uma sessão Copilot compactada agora recebem seu resumo, contagens de tokens antes e depois e detalhes da sessão em vez de um resultado incompleto. #96049 Agradecimentos a @vincentkoc.
  • Os comandos /stop e abort agora continuam interrompendo execuções ativas, limpando acompanhamentos em fila e encerrando subagentes relacionados prontamente, mesmo quando chaves de sessão precisam ser canonicalizadas ou metadados de abort não podem ser salvos. #96201 Agradecimentos a @jalehman.
  • Atualizações do Voice Wake agora mantêm frases de acionamento e regras de roteamento existentes funcionando enquanto o OpenClaw as move de arquivos de configurações aposentados para o banco de dados de estado compartilhado. bdf81a8
  • Atualizações a partir de layouts de estado mais antigos do OpenClaw agora preservam notificações de atualização, limitação de verificações, registros de versão disponível e histórico de tentativas de atualização automática à medida que esse estado passa para o SQLite. eb00d49 Agradecimentos a @vincentkoc.
  • Conversas de canais de Plugin mantêm a sessão pretendida de forma mais confiável durante inicialização, verificações do doctor e reparos de estado, com registros de vínculo antigos migrados para o banco de dados compartilhado do OpenClaw. 9f888d9
  • A sincronização de sessões baseada em memória no Windows agora continua usando o arquivo de transcrição pretendido mesmo quando a formatação do caminho difere. b3b5b08 Agradecimentos a @vincentkoc.
  • Execuções de agentes incorporadas com uma chave de sessão ausente ou em branco agora permanecem anexadas à sessão pretendida em vez de serem enviadas por roteamento de sessão inconsistente. 911f853 Agradecimentos a @vincentkoc.
  • Quando um modelo adivinha o nome de ferramenta errado, Tool Search e Code Mode agora mostram como encontrar e tentar novamente a ferramenta correta, reduzindo o risco de sessões longas travarem ou perderem memória durável durante a Compaction. #93374 Relacionado a #92273. Agradecimentos a @mushuiyu886, @poison, @vincentkoc.
  • Corrige respostas do assistente que desapareciam do webchat, da Control UI, do Feishu e de outras conversas incorporadas após a Compaction, mantendo chats atualizados legíveis e solicitações de acompanhamento separadas. #95484 Relacionado a #76729. Agradecimentos a @maweibin, @njuboy11, @vincentkoc.
  • Recursos de memória do OpenClaw agora mantêm a cobertura de transcrições ativas, redefinidas e excluídas alinhada com os armazenamentos de sessão configurados e a propriedade do agente, tornando menos provável que Dreaming, exportações QMD, indexação e sincronização percam ou atribuam incorretamente o histórico de conversas. #96162 Agradecimentos a @jalehman.
  • A configuração de TLS do Gateway agora rejeita claramente caminhos de certificado ou chave em branco ou usa os padrões do OpenClaw, evitando falhas confusas de inicialização e geração de certificado enquanto preserva caminhos válidos. #94054 Agradecimentos a @miorbnli.
  • Políticas de Plugin configuradas continuam bloqueando ou reescrevendo chamadas de ferramenta sensíveis após mudanças no registro do Gateway, recarregamentos ou inicialização posterior de hooks, em vez de serem ignoradas silenciosamente. #94545 Agradecimentos a @jesse-merhi.
  • Operadores móveis com operator.approvals agora podem ver e resolver aprovações de exec acionadas por chat no dispositivo iOS que iniciou a solicitação, inclusive enquanto o aplicativo está aberto, sem depender apenas de notificações push. #95175 Agradecimentos a @joshavant.
  • Usuários da Control UI agora recebem a versão corrigida do DOMPurify, reduzindo a exposição à vulnerabilidade de sanitização GHSA-cmwh-pvxp-8882 sem alterar o comportamento da interface. #95691 Agradecimentos a @vincentkoc.
  • Aprovações "sempre permitir" para vínculos de conversas de Plugin agora são transferidas do arquivo de configurações antigo e têm menos probabilidade de serem perdidas ou sobrescritas quando vários processos do OpenClaw estão em execução. ae41b00 Agradecimentos a @vincentkoc.
  • Usuários do Matrix agora veem que a chave de recuperação ativa é obrigatória antes que uma redefinição forçada de assinatura cruzada possa prosseguir, impedindo que uma segunda redefinição deixe a recuperação de criptografia e os backups de chaves de sala inutilizáveis. #95720 Relacionado a #78396. Obrigado @jteddy, @vincentkoc, @xialonglee.
  • Os cartões de status da wiki de memória e a sincronização de fontes apoiada por bridge têm menos probabilidade de falhar durante reescritas simultâneas de páginas porque o OpenClaw agora tenta novamente a incompatibilidade transitória de caminho, ainda interrompendo gravações inseguras ou persistentes no sistema de arquivos. #94443 Relacionado a #92134. Obrigado @cknzraposo, @zengwen-dt.
  • Corrige a retomada de sessões recentes que abria uma nova conversa para usuários com caminhos de workspace longos em vez de retornar à transcrição existente. #94578 Relacionado a #94577. Obrigado @rohitjavvadi, @vincentkoc.
  • A wiki de memória agora mantém intactas as notas escritas pelo usuário quando uma página-fonte existente é reingerida ou sincronizada, ao mesmo tempo em que atualiza o conteúdo gerado. #95614 Obrigado @yetval.
  • Corrige a wiki de memória que copiava repetidamente suas próprias páginas-fonte geradas de volta para si mesma quando seu vault estava armazenado dentro da pasta de memória do workspace, evitando arquivos duplicados, limpeza repetida e crescimento desnecessário do índice de memória. #95666 Relacionado a #95657. Obrigado @johannes0402, @turbotheturtle, @vincentkoc.
  • Para operadores que usam Active Memory com Dreaming do memory-core, os trabalhos noturnos de Dreaming não iniciam mais trabalho de recall desnecessário nem atingem timeouts de 45 segundos, enquanto chats web regulares continuam recebendo recall de memória. #95721 Relacionado a #78500. Obrigado @vincentkoc, @vishutdhar, @xialonglee.
  • Sessões de agente com muitas chamadas de ferramenta reparam resultados fora de ordem com menos trabalho repetido, mantendo cada resultado associado à chamada de ferramenta correta. #96014 Obrigado @vincentkoc.
  • O trabalho de memória no Windows apoiado por qmd agora interrompe todos os processos relacionados após sondagens de disponibilidade e timeouts de comando, impedindo que processos filhos do qmd continuem em execução em segundo plano. 830691b
  • Fontes confiáveis de pacotes do OpenClaw agora rejeitam caminhos irmãos semelhantes, então confiar em /artifactory/openclaw não admite mais também caminhos como /artifactory/openclaw-malicious. 12c34fc Obrigado @vincentkoc.

Modo de relay do roteador do Slack

O modo de relay do roteador do Slack permite que implantações gerenciadas ou com múltiplos gateways centralizem o tráfego de entrada do Slack, enquanto o Gateway correto do OpenClaw ainda lida com menções, afinidade de threads e respostas.

Sources and contributors
  • Implantações gerenciadas do Slack agora podem usar um roteador central para enviar menções e threads em andamento ao Gateway correto do OpenClaw, enquanto as respostas ainda aparecem pelo Slack. #94707 Obrigado @pash-openai, @sjf-oa.

Ponte de ativação do Raft External Agent

O canal Raft e o Plugin Raft agora oferecem suporte a uma ponte local de ativação via CLI, para que External Agents possam ativar o OpenClaw para trabalho pendente no workspace e operadores possam verificar a configuração e o status pelo caminho compatível.

Sources and contributors
  • Operadores do Raft External Agent agora podem ativar um agente do OpenClaw quando um workspace tem trabalho pendente por meio da ponte local compatível da CLI, com perfis nomeados e verificações para pré-requisitos ausentes da CLI. #95497 Obrigado @vincentkoc.

Instalação e reparo de Plugins oficiais

O gerenciamento de Plugins agora lida com mais integrações oficiais por meio dos fluxos normais de instalação e reparo de pacotes externos. O inventário de Plugins e verificações de configuração relacionadas fornecem resultados mais claros aos usuários quando um pacote está ausente, é incompatível ou precisa ser reinstalado.

Sources and contributors
  • Quando plugins.allow usa um nome de canal ou pacote em vez do id real do Plugin, a orientação de inicialização agora identifica a entrada sem correspondência e mostra os ids de Plugins descobertos necessários para corrigir a configuração. #68389 Relacionado a #68352. Obrigado @aym9999, @jirboy, @lyfuci, @pahuchi-joe, @zmxccxy.
  • Avisos de confiança de Plugin para instalações iniciais ou novas agora incluem um exemplo de plugins.allow pronto para copiar e comandos para listar ou inspecionar ids de Plugins, para que os usuários possam resolver o aviso antes de confiar no código do Plugin ou reinstalá-lo. #78105 Relacionado a #68780. Obrigado @jirboy, @pahuchi-joe.
  • Migrações do Codex agora funcionam com instalações globais padrão de Plugins porque openclaw migrate consegue encontrar o provedor instalado em vez de falhar com Unknown migration provider. #89612 Relacionado a #89609. Obrigado @mugabuga, @zerone0x.
  • Instalações e atualizações de Plugins se recuperam de pins obsoletos de dependências gerenciadas pelo OpenClaw em vez de falharem com npm EOVERRIDE, sem que sincronizações posteriores façam downgrade ou removam pacotes que os usuários instalaram explicitamente. #91786 Relacionado a #91772. Obrigado @amknight, @mkdelta221.
  • Desenvolvedores de Plugins de canal agora podem carregar identificadores nativos de remetente e conversa por hooks e fluxos de exec selecionados, oferecendo roteamento mais preciso às integrações sem quebrar os campos existentes de remetente e chat. #91903 Obrigado @lanzhi-lee, @vincentkoc.
  • A descoberta de Plugins agora repete menos verificações bloqueantes do sistema de arquivos durante a inicialização, reduzindo trabalho evitável de cold start para árvores de Plugins empacotados, especialmente em sistemas de arquivos mais lentos no Windows, sem alterar o comportamento de descoberta de bundles. #93919 Relacionado a #76209. Obrigado @ml12580, @shenhonglong456-ai.
  • Métodos do Gateway de Plugins agora funcionam por meio de openclaw gateway call após o registro, para que autores de Plugins possam usá-los em scripts e tarefas Cron em vez de encontrar um erro unknown method. #94154 Relacionado a #94127. Obrigado @brycemurray, @pick-cat, @vincentkoc.
  • A descoberta de Skills e verificações de instalação do ClawHub têm menos chance de travar ou derrubar o OpenClaw porque respostas grandes demais ou paradas do marketplace agora são interrompidas antes que possam esgotar a memória. #95226 Obrigado @alix-007.
  • Plugins oficiais fixados não permanecem mais em uma versão antiga quando operadores seguem a recomendação de reparo de openclaw doctor ou do status profundo do Gateway após uma atualização. #95541 Obrigado @ooiuuii, @vincentkoc.
  • Atualizações de Plugins npm gerenciados têm menos chance de interromper o trabalho em um Gateway em execução com erros de módulo ausente, porque os arquivos mais antigos do Plugin permanecem disponíveis até que uma inicialização posterior do Gateway os limpe. #95589 Obrigado @ooiuuii, @vincentkoc.
  • Cards de Plugins oficiais para marcas compatíveis agora mostram ícones reconhecíveis no ClawHub e em outros catálogos, e autores de Plugins podem fornecer arte de marketplace pelo campo documentado do manifesto. #95845 Obrigado @patrick-erichsen.
  • Ícones de Plugins oficiais no ClawHub e em outros catálogos não são mais forçados para a mesma cor codificada, permitindo que Simple Icons use sua arte padrão. #95987 Obrigado @patrick-erichsen.
  • Usuários do Docker agora têm um mirror oficial openclaw/openclaw no Docker Hub junto com o GHCR, com versões beta versionadas impedidas de mover os aliases estáveis latest e main. #97122 Obrigado @vincentkoc.
  • Instalações do OpenClaw baseadas em Git agora usam a versão fixada do pnpm do repositório mesmo quando outro pnpm global ou gerenciador de pacotes do projeto ao redor está presente, para que comandos de configuração não sejam mais executados no ambiente errado de gerenciador de pacotes. bd74a62 Obrigado @vincentkoc.
  • Solicitações de cards de Skills e atualizações do ClawHub agora são concluídas ou expiram de forma previsível mesmo quando recebem um valor de timeout incomumente grande. 8cd0c11 Obrigado @vincentkoc.
  • Usuários do Windows podem concluir instalações a partir do código-fonte sem uma etapa de configuração do llama.cpp bloqueando ou atrasando o processo, e o instalador restaura a configuração de shell existente depois. ea9065b Obrigado @vincentkoc.
  • Mais Plugins oficiais de canal, provedor e pesquisa web agora podem ser instalados ou reparados por catálogos normais de pacotes externos, ainda sendo reconhecidos a partir de suas credenciais existentes. #95683 Obrigado @vincentkoc.
  • Pessoas que instalam ou atualizam o Plugin oficial do canal Yuanbao pelo catálogo confiável do OpenClaw agora recebem a versão 2.15.0, com a verificação de integridade esperada e a orientação de Plugin ausente alinhadas a essa versão. #94470 Obrigado @jase-283.
  • O onboarding da primeira execução agora pode instalar a Skill empacotada gog pelo Homebrew sem falhar na fórmula removida do tap de terceiros. #95019 Relacionado a #95017. Obrigado @sedrak-hovhannisyan, @vincentkoc, @zengwen-dt.
  • Usuários de Canvas, Discord, Slack, Voice Call e WhatsApp mantêm a mesma orientação de Skills com cada Plugin instalado ou empacotado, enquanto referências aos antigos caminhos raiz skills/... precisam migrar para o diretório do Plugin relevante. #95664 Obrigado @vincentkoc.
  • A verificação de Skills do ClawHub agora aceita a mesma referência @owner/<slug> usada para instalações e atualizações, para que usuários possam verificar o publisher pretendido sem trocar para um slug simples ambíguo. #95992 Obrigado @patrick-erichsen.
  • O aviso do gerenciador de pacotes durante a instalação do OpenClaw agora identifica corretamente npm, Yarn, Yarn Berry e launchers no estilo Corepack, evitando orientações enganosas quando essas ferramentas são executadas por nomes alternativos de executáveis. 11a2e03 Obrigado @vincentkoc.
  • Instalações por URL de pacote agora lidam com timeouts de download grandes demais sem falhar antes que os dados de pacote disponíveis possam ser resolvidos. c310f8c
  • Desenvolvedores de Plugins e CLI agora veem uma API compatível mais clara para formatação de comandos, enquanto pareamento de dispositivos, registro de nodes e orientação do doctor continuam produzindo os mesmos comandos seguros para shell. 23b4f33
  • Usuários de Windows ARM64 agora recebem downloads correspondentes de ARM64 Node e MinGit ao executar o instalador PowerShell por um shell emulado em x64. fac091b Obrigado @vincentkoc.
  • Instalações padrão do OpenClaw não gastam mais tempo compilando suporte opcional ao llama.cpp, evitando falhas de build nativo para usuários que não o habilitaram. cc1b3a8 Obrigado @vincentkoc.

Canais e mensagens

Correções adicionais de canais

Correções adicionais de Telegram e configuração de canais cobrem problemas mais específicos de entrega e configuração.

Sources and contributors
  • Cadeias de resposta do Telegram mantêm respostas em cache anexadas após mudanças de contexto em vez de falharem quando essas respostas em cache são reutilizadas. #82909 Obrigado @lidge-jun.
  • Corrige o Discord descartando uma resposta longa inteira com blocos de código cercados quando uma cerca de fechamento de código cai perto do limite de 2.000 caracteres da mensagem. #95661 Obrigado @ly-wang19.
  • Operadores do Slack agora podem armazenar tokens e segredos de assinatura como entradas SecretRef compatíveis, enquanto leituras, escritas, consultas de allowlist e destino, e verificações de configuração usam as credenciais resolvidas em vez de rejeitar ou interpretar incorretamente as referências. 7da955f Obrigado @vincentkoc.
  • Verificações de capacidade de canais agora retornam um timeout claro quando uma integração para de responder, evitando que a solução de problemas fique pendurada em um terminal ou execução de automação. 8ecdb97 Obrigado @vincentkoc.

Gateway, segurança e confiança

Recuperação de reinicialização e prontidão

Sinais de saúde do Gateway e solução de problemas agora se alinham de forma mais consistente com o fato de o OpenClaw estar realmente pronto, reiniciando ou incapaz de continuar. Execuções de agentes iniciadas pela CLI se recuperam de forma mais limpa de desconexões, desligamentos, mudanças de roteamento e condições de inicialização com falha.

Sources and contributors
  • Quando um Gateway remoto configurado ou explícito está lento, mas acessível, openclaw gateway probe --timeout ... agora aguarda o tempo limite solicitado em vez de relatá-lo como inacessível após um corte interno mais curto. #89859 Relacionado a #65355. Obrigado @hellocli, @mushuiyu886.
  • Execuções longas ou paralelas de subagentes internos agora evitam processamento desnecessário de pré-visualização ao vivo, enquanto sessões visíveis de subagentes ainda mostram atualizações ao vivo e respostas finais. #91906 Obrigado @lanzhi-lee, @vincentkoc.
  • Conversas ACP, especialmente threads com backend Kiro, agora continuam após a primeira resposta iniciando uma nova sessão quando o backend não consegue mais retomar a antiga. #93547 Relacionado a #87830. Obrigado @amersheeny, @chouzz.
  • Quando a pressão de memória no Linux encerra um comando ou sessão filho, Gateways OpenClaw gerenciados por systemd agora continuam em execução e mantêm conexões de canal ativas enquanto relatam a falha do filho. #93585 Obrigado @snowzlm.
  • Cancelar uma execução do OpenClaw durante o trabalho de ferramentas agora a encerra prontamente em vez de iniciar outro turno de modelo ou deixar a sessão bloqueada. #94412 Obrigado @szsip239, @vincentkoc.
  • Trabalhos agendados do OpenClaw que usam modelos em nuvem agora se recuperam por padrão de chamadas de modelo silenciosas e travadas, ajudando a impedir que trabalhos de Cron posteriores se acumulem, enquanto provedores locais ou auto-hospedados mantêm o comportamento de tempo limite existente. #94445 Obrigado @bek91.
  • Verificações de prontidão do Gateway agora ficam não saudáveis durante uma drenagem de reinicialização, impedindo que gerenciadores de tráfego enviem novo trabalho para um Gateway que está rejeitando solicitações temporariamente. #94915 Relacionado a #78136. Obrigado @markoub, @maxschachere, @vincentkoc.
  • Usuários de Mac podem manter Gateways gerenciados por LaunchAgent em execução durante upgrades do OpenClaw em vez de ver loops repetidos de falha e reinicialização quando código antigo de runtime de transformação de texto ainda está em cache. #95081 Relacionado a #95057. Obrigado @849261680, @yveslarose.
  • Conversas com Codex no TUI, WebChat e APIs de streaming compatíveis agora mostram respostas enquanto elas são escritas, substituindo texto provisório de forma limpa para que a resposta final não inclua rascunhos obsoletos. #95404 Relacionado a #95422. Obrigado @agonza1, @vincentkoc.
  • Após uma reinicialização do Gateway, os usuários não veem mais um aviso de nova tentativa enganoso quando o OpenClaw já está retomando a resposta interrompida ou relatando a falha real de recuperação, reduzindo tentativas duplicadas desnecessárias. #95431 Obrigado @moeedahmed, @vincentkoc.
  • Sessões longas de agentes com uso intenso de ferramentas agora preservam economias de cache de prompt à medida que os resultados se acumulam, reduzindo atrasos e custos evitáveis por reenviar histórico reescrito entre turnos. #95624 Obrigado @vincentkoc.
  • Reinicializações do Gateway não deixam mais agentes configurados baseados em Codex, Copilot ou Plugins confiáveis temporariamente indisponíveis, e Plugins de workspace não confiáveis continuam bloqueados para não ativarem a si mesmos. #95652 Obrigado @vincentkoc.
  • Respostas longas, fluxos de ferramentas ocupados, solicitações com muitas imagens e recuperação de memória agora geram menos sobrecarga de CPU e sistema de arquivos sem exigir mudanças de configurações ou fluxo de trabalho. #95697 Obrigado @vincentkoc.
  • Operadores podem novamente adicionar ou atualizar anúncios agendados para canais conhecidos em configurações sem arquivo de configuração, enquanto ambientes configurados ainda rejeitam destinos desabilitados, obsoletos, sem proprietário ou desconhecidos antes da entrega. #95754 Obrigado @vincentkoc.
  • Usuários de macOS têm menos chance de ver uma falsa falha de conflito de porta ao parar ou atualizar um Gateway gerenciado, porque o OpenClaw aguarda brevemente o desligamento normal liberar a porta enquanto ainda relata conflitos que persistem. #95886 Obrigado @fuller-stack-dev.
  • Agentes com backend Copilot agora podem fazer uma pergunta aos usuários e aceitar a resposta pelo fluxo normal de resposta de chat do OpenClaw, enquanto controles compactos de busca de ferramentas e modo de código evitam carregar o catálogo completo de ferramentas na sessão. #96005 Obrigado @vincentkoc.
  • Reinicializações do Gateway em configurações systemd ou de contêiner não deixam mais processos antigos de adaptadores Codex ou Claude para trás, ajudando novas sessões ACPX a começarem sem travamentos de limpeza de vários minutos após reinicializações repetidas. #96032 Obrigado @t2wei, @vincentkoc.
  • Sessões com backend Copilot agora mostram atualizações de plano conforme o trabalho avança, e suas tarefas filhas nativas permanecem visíveis até a conclusão ou falha em vez de desaparecerem da visualização de tarefas do OpenClaw. #96062 Obrigado @vincentkoc.
  • Agentes conectados, como OpenCode, agora iniciam por meio do OpenClaw mesmo quando seu harness não consegue selecionar um modelo solicitado, enquanto escolhas de modelo realmente sem suporte ainda retornam o erro original. #96068 Relacionado a #95869. Obrigado @sabatech-dev, @vincentkoc.
  • Plugins que usam heartbeat_prompt_contribution agora entregam seu contexto específico de Heartbeat aos modelos quando agentes são executados por runtimes de harness, como o app-server do Codex, sem afetar turnos comuns de usuários ou Plugins que não usam o hook. #96233 Obrigado @azogheb, @vincentkoc.
  • A limpeza do Gateway no Windows e as verificações de listeners agora lidam de forma consistente com dados de linha de comando WMIC em UTF-16, reduzindo falhas ou conflitos na identificação do processo do Gateway em execução. 15c880a Obrigado @vincentkoc.
  • Sessões longas de agentes com contexto extenso e uso intenso de ferramentas agora mantêm a reutilização de cache de prompt mais estável em turnos repetidos sem perder limites de tamanho por resultado, enquanto operadores avançados podem configurar limites maiores de resultados de ferramentas para modelos de grande contexto sem rejeição da configuração. a60947f Obrigado @vincentkoc.
  • Sessões longas de agentes com uso intenso de ferramentas têm menos probabilidade de inflar solicitações de modelo à medida que a saída de ferramentas se acumula, enquanto turnos repetidos mantêm reutilização estável de cache de prompt. 2f33999 Obrigado @vincentkoc.
  • Reinicializações do Gateway agora usam o banco de dados de estado durável do OpenClaw para a transferência, enquanto solicitações obsoletas, malformadas, de processo incorreto ou substituídas são descartadas antes que possam afetar a reinicialização. 0ad48da
  • Status do Gateway, doctor e diagnósticos de reinicialização agora retêm detalhes recentes de reinicialização no banco de dados de estado compartilhado do OpenClaw, enquanto registros expirados ou malformados ainda são descartados. a39a3b7 Obrigado @vincentkoc.
  • Reinicializações do Gateway e atualizações de serviços gerenciados agora mantêm a mensagem de continuação correta, evitam reutilizar estado de transferência obsoleto e marcam transferências de atualização com falha de forma consistente. 514b336 Obrigado @vincentkoc.
  • Agentes iniciados pelo Gateway não perdem mais ferramentas OpenClaw exclusivas do proprietário durante tarefas como verificações de Cron ao vivo, para que operações autorizadas possam usar as ferramentas pretendidas com o contexto de solicitação correto. c2ee9b0 Obrigado @vincentkoc.
  • Solicitações malformadas de reinicialização do Gateway agora falham claramente sem agendar uma reinicialização, impedindo que chamadas de integração incorretas ou acidentais reiniciem o Gateway inesperadamente. 108d6d7 Obrigado @vincentkoc.
  • Solicitações obsoletas de Node enfileiradas pelo Gateway agora expiram automaticamente, então trabalhos antigos têm menos probabilidade de permanecer e afetar atividades posteriores. f6d432e
  • Fluxos de trabalho de Plugins têm menos probabilidade de travar ou sobrecarregar o Gateway quando uma integração solicita histórico excessivo de sessões de subagentes, porque cada leitura agora é limitada a um valor seguro. b66b450 Obrigado @vincentkoc.
  • Descrições de imagens agora lidam de forma consistente com configurações de tempo limite extremamente grandes limitando-as a um limite seguro de runtime em vez de arriscar overflow de timer. 88b21fc
  • Sessões de agentes incorporados agora aguardam de forma confiável que outra sessão libere seu bloqueio de arquivo, mesmo com um tempo limite extremamente grande, em vez de arriscar overflow de timer. 4c736df Obrigado @vincentkoc.
  • Comandos enfileirados com configurações de tempo limite de tarefa extremamente grandes agora expiram de forma confiável porque o OpenClaw limita a espera ao máximo seguro do runtime. 1f6ae32 Obrigado @vincentkoc.
  • Corrige normalization-core expondo o ponto de entrada errado de coerção de string e sessões ACP mostrando um valor de modo rápido desatualizado, para que integrações recebam a API pretendida e usuários vejam o modo realmente em vigor. 93ad397 Obrigado @vincentkoc.
  • Execuções automáticas rápidas agora entregam respostas finais de forma mais consistente, com tratamento de redefinição de progresso limitado ao modo automático para não interferir em respostas ou callbacks encaminhados. 9e8ab08 Obrigado @vincentkoc.
  • Sessões de agentes que usam OpenAI Responses agora retomam trabalho baseado em ferramentas sem falhar nem perder progresso quando o histórico reproduzido contém solicitações e resultados de ferramentas incompatíveis. b4bc1f2 Obrigado @vincentkoc.
  • Execuções concluídas de subagentes de Plugins e QA não são mais relatadas incorretamente como falhas quando Gateways retornam formatos alternativos de envelope de conclusão, tornando transferências bem-sucedidas mais confiáveis para autores de Plugins e operadores. d1b268f Obrigado @vincentkoc.
  • Corrige tarefas concluídas de subagentes que às vezes terminavam sem uma atualização, para que usuários recebam o resultado ou o próximo passo do agente pai. 68a1e00 Obrigado @vincentkoc.

Resultado remoto e entrega de mídia

Resultados remotos de imagem e trabalhos concluídos de subagentes agora retornam pela conversa ativa do Gateway com mais confiabilidade em vez de parecerem falhar ou desaparecer.

Fontes e colaboradores
  • Imagens geradas por um app-server Codex remoto agora chegam como anexos em vez de mostrar Media failed ou retornar apenas texto após a geração bem-sucedida. #96212 Obrigado @sjf-oa.
  • Quando um subagente termina, seu resultado agora chega à execução pai ativa com mais confiabilidade em vez de parecer silencioso. 7fc4bbc Obrigado @vincentkoc.

Clientes e interfaces

Envios e reconexões do cliente

WebChat e a UI de controle mantêm conversas ativas e estados de falha visíveis com mais consistência após reconexões, enquanto clientes móveis e a UI de terminal recuperam envios concluídos, rejeitados ou interrompidos sem deixá-los parecendo travados.

Fontes e colaboradores
  • Quando uma mensagem do WebChat falha antes de o agente iniciar, o WebChat e a UI de controle agora mostram a sessão como com falha em vez de deixá-la parecendo ainda em execução. #84352 Obrigado @jesse-merhi.
  • Corrige o seletor de sessões da UI de controle que ficava preso atrás de sessões ocultas de subagentes, para que Carregar mais alcance o próximo chat utilizável sem mostrar um total enganoso. #89323 Relacionado #89249. Obrigado @giodl73-repo, @originsecured-do.
  • Quando os usuários reabrem uma conversa da UI de controle pelo Histórico, seus prompts agora aparecem com as respostas do assistente, preservando o contexto de pergunta e resposta sem lacunas em branco em transcrições longas. #93841 Relacionado #90241. Obrigado @mushuiyu886, @pronzcw.
  • Implantações da UI de controle atrás de um prefixo de caminho agora mantêm solicitações de manifesto, favicon e service worker sob esse prefixo, evitando erros 403 confusos no nível raiz após o login. #94204 Relacionado #94157. Obrigado @hugenshen, @xrow.
  • Usuários de Android agora podem abrir linhas de log de integridade e Skills em Configurações para ver detalhes legíveis, facilitando a solução de problemas de atividade do gateway, a verificação da configuração e do status de Skills e o entendimento de como parear com um código de configuração existente. #95148 Obrigado @tosko4.
  • Prompts enviados não reaparecem mais no compositor da UI de controle após um envio, para que os usuários possam alternar sessões ou começar sua próxima mensagem sem arriscar um envio duplicado ou sobrescrever um novo rascunho, enquanto a reinserção intencional continua funcionando. #95503 Relacionado #89466. Obrigado @vincentkoc, @zhangguiping-xydt, @zhong18804784882.
  • Usuários de Android agora têm uma Visão geral mais limpa, onde o status da conexão, o agente configurado, a integridade do nó, aprovações, sessões recentes e ações de Chat e Falar ficam visíveis rapidamente. #95557 Obrigado @joshavant, @solvely-colin.
  • Usuários de Android agora podem atualizar e resolver aprovações de comandos do gateway na tela Aprovações dentro do aplicativo, escolhendo Permitir uma vez, Sempre ou Negar enquanto estiverem conectados. #95593 Obrigado @solvely-colin.
  • Usuários de iOS agora evitam prompts inesperados de notificação e recebem orientação clara quando alertas de aprovação estão indisponíveis, com a permissão gerenciada em uma única tela previsível de Configurações. #95640 Obrigado @joshavant.
  • Encerramentos locais da TUI agora permanecem dentro de limites seguros de temporizador mesmo quando OPENCLAW_TUI_LOCAL_RUN_SHUTDOWN_GRACE_MS é definido com um valor extremamente alto. c21dcfc
  • O Canvas A2UI agora serve apenas os ativos atuais do aplicativo após cada build, reduzindo a chance de imagens de compatibilidade desatualizadas e arquivos remanescentes aparecerem. a89e65c Obrigado @vincentkoc.
  • Falhas na configuração do retransmissor de push do iOS ficaram mais fáceis de identificar porque os diagnósticos de registro mostram onde a configuração parou, mantendo credenciais sensíveis de push fora dos logs. f2b8668 Obrigado @joshavant.
  • Dispositivos iOS agora são registrados para notificações push somente depois que os usuários aceitam a divulgação do retransmissor hospedado e permitem notificações, impedindo que dados de registro sejam publicados antes do consentimento. 8efed50 Obrigado @joshavant.
  • Corrige envios de chat, voz, TUI e encaminhados que às vezes pareciam travados ou desapareciam depois que o gateway já os havia concluído ou rejeitado, para que os clientes afetados agora limpem o estado pendente, restaurem a entrada que pode ser tentada novamente, atualizem o histórico ou mostrem uma falha útil. #91049 Relacionado #91048. Obrigado @nxmxbbd.

Correções de interface, configurações e integração inicial

Correções adicionais da UI de controle, de dispositivos móveis e de desktop melhoram a precisão de exibição, acessibilidade, integração inicial e comportamento do aplicativo.

Fontes e colaboradores
  • Restaura a cota de uso do OpenAI/Codex na barra lateral expandida de chat da UI de controle, para que os usuários possam verificar seus limites sem sair da conversa. #94219 Relacionado #93041. Obrigado @jazzroutine, @pick-cat.
  • Telas do iOS agora usam cores de destaque e status consistentes do OpenClaw em integração inicial, configurações, chat, prompts de aprovação, permissões de voz, widgets e visualizações de chat compartilhadas. #94627 Obrigado @zats.
  • A UI de controle agora pode criar trabalhos Early Morning com a predefinição Silencioso na sessão principal e sem notificações, em vez de deixar a caixa de diálogo aberta sem resultado visível. #95459 Relacionado #95073. Obrigado @vincentkoc, @vporton, @zoowh.
  • No limite de um milhão de tokens, emblemas e leituras de uso da UI de controle agora mostram "1M" em vez do confuso "1000k", enquanto as contagens de tokens subjacentes permanecem inalteradas. #95485 Obrigado @narahariraghava, @vincentkoc.
  • A Visão geral da UI de controle agora conta e sinaliza apenas trabalhos cron habilitados que ainda precisam de atenção, enquanto trabalhos desabilitados mantêm seus detalhes de falhas passadas sem aparecer como problemas atuais. #95723 Relacionado #95716. Obrigado @voytas75, @zengwen-dt.
  • Usuários da UI de controle agora veem dicas de ferramenta mais curtas para os temas Sistema, Claro e Escuro, enquanto leitores de tela anunciam rótulos menos repetitivos sem perder o contexto ao redor do modo de cor. #95837 Obrigado @hannesrudolph, @sannidhyasah.
  • A configuração bruta não aparece mais como ausente em Configurações após alternar a partir da visualização de formulário, porque o JSON é trazido de volta para a visualização em vez de manter a posição de rolagem anterior. #96145 Relacionado #94202. Obrigado @sunlit-deng, @vporton.
  • Novos usuários de iOS agora chegam às telas de boas-vindas e integração inicial do OpenClaw antes de o iOS pedir acesso à rede local, enquanto usuários existentes ainda recebem a solicitação ao abrir a configuração do gateway ou quando precisam de descoberta de gateway na LAN. #96181 Obrigado @joshavant.

Documentação e ferramentas de administração

Confiabilidade da configuração e dos comandos

Comandos da CLI comuns agora lidam com configuração, caminhos, saída e casos de falha com mais consistência. Conclusão de shell, doctor, comandos de configuração e configuração do gateway fornecem orientação mais clara e recuperação mais segura quando uma instalação ou configuração precisa de atenção.

Fontes e colaboradores
  • O menu de preenchimento por tabulação do zsh do OpenClaw agora exibe descrições de opções contendo variáveis $ ou exemplos entre crases literalmente, em vez de avaliá-los como entrada do shell e corromper o menu. #64490 Obrigado @edenkangdw.
  • Após atualizar a partir de um armazenamento de sandbox antigo, operadores agora recebem um aviso claro de openclaw doctor sobre arquivos de registro remanescentes e podem usar openclaw doctor --fix para migrá-los ou limpá-los. #84326 Obrigado @giodl73-repo.
  • Operadores agora podem usar doctor --lint para identificar serviços Gateway legados obsoletos e pré-visualizar a limpeza, enquanto serviços extras intencionais continuam informativos e não fazem a verificação padrão falhar. #84340 Obrigado @giodl73-repo.
  • Operadores de gateway no macOS agora recebem um aviso antes que uma reinstalação, reparo ou reinicialização sobrescreva o comportamento personalizado do wrapper LaunchAgent, enquanto openclaw status diferencia verificações de segredo ausente apenas da CLI do serviço instalado. #90537 Relacionado a #90518. Obrigado @turbotheturtle, @vincentkoc.
  • Prompts longos, multilinha ou com muito código agora podem ser enviados para openclaw agent com --message-file, evitando aspas frágeis no shell e relatando arquivos inválidos antes do envio. #93351 Obrigado @ooiuuii.
  • Corrige reparos agendados de doctor --fix --non-interactive que reiniciavam um gateway já em execução após uma falha temporária na verificação de integridade, para que a manutenção sem supervisão não interrompa mais o serviço ativo. #94148 Relacionado a #78217. Obrigado @esqandil, @zhangguiping-xydt.
  • openclaw configure e openclaw config sem argumentos agora param com orientação clara sobre subcomandos quando executados a partir de scripts ou pipes, em vez de abrir um assistente interativo parcial e sair sem clareza. #94238 Relacionado a #93953. Obrigado @nianjiuzst, @ruomuxydt.
  • Operadores com vários agentes agora podem usar openclaw gateway usage-cost para ver custos de um agente configurado ou de todos os agentes, enquanto o comando existente do agente padrão permanece inalterado. #94483 Obrigado @ly-wang19.
  • Cartões arquivados do Workboard não poluem mais a saída padrão de openclaw workboard list, enquanto --include-archived e a saída JSON ainda fornecem acesso quando necessário. #94562 Relacionado a #94555. Obrigado @ecican, @vincentkoc, @zengwen-dt.
  • O OpenClaw Doctor agora fornece orientação precisa para trabalhos Cron funcionais de prompt de shell isolado, em vez de sugerir repetidamente um comando --fix que não consegue eliminar o aviso. #94784 Relacionado a #94655. Obrigado @altaywtf, @geekoagent, @zengwen-dt.
  • Corrige openclaw doctor exibindo um aviso de correção obrigatória para configurações saudáveis de memória GGUF local após uma verificação de prontidão intencionalmente ignorada, preservando o aviso quando o modelo local configurado realmente está ausente. #95393 Relacionado a #92582. Obrigado @mikasa0818, @neekolascmd, @vincentkoc.
  • No Windows, tarefas de gateway criadas pelo instalador agora são executadas em segundo plano sem uma janela de console que usuários poderiam fechar acidentalmente e interromper o gateway. #95480 Relacionado a #89231. Obrigado @cameronweller, @mikasa0818, @vincentkoc.
  • Vínculos de canal de agentes agora rejeitam especificações de conta malformadas, como matrix:work:extra, com um erro claro em vez de rotear silenciosamente o agente para uma conta diferente. #95572 Obrigado @ly-wang19.
  • Atualizações de skills do ClawHub agora respeitam sua política de segurança de instalação configurada, e openclaw skills update --all atualiza apenas skills rastreadas do ClawHub, em vez de instalar inesperadamente outras skills configuradas. #95684 Obrigado @vincentkoc.
  • Fluxos de reinicialização e inicialização do gateway no Windows estão mais confiáveis porque o OpenClaw agora entrega comandos ao caminho confiável do sistema para cmd.exe, em vez de depender da descoberta de processos. 7dd01d1 Obrigado @vincentkoc.
  • A limpeza do gateway e as verificações de listener no Windows estão mais confiáveis quando a busca no PATH está incompleta, para que operadores possam identificar o processo do gateway e liberar uma porta ocupada sem que ferramentas de sistema instaladas deixem de ser encontradas. e9b694e Obrigado @vincentkoc.
  • No Windows, a inicialização do OpenClaw e a transferência para o Codex no TUI agora encontram bun, codex e outros binários de runtime por meio do localizador confiável do sistema, mesmo quando outro comando where aparece antes no PATH. 72b9bc7 Obrigado @vincentkoc.
  • Diagnósticos de porta no Windows agora usam as ferramentas de sistema pretendidas mesmo quando entradas do PATH estão ausentes ou sombreadas, reduzindo a chance de conflitos de porta do gateway e do serviço serem ocultados por falhas de resolução de comandos. c4facb2 Obrigado @vincentkoc.
  • A recuperação do daemon no Windows tem menor probabilidade de deixar de detectar ou limpar processos quando o PATH está incompleto, incomum ou sombreado, porque o fallback de tarefa agendada agora encontra PowerShell e taskkill em locais confiáveis do sistema. 2a140e6 Obrigado @vincentkoc.
  • O OpenClaw agora mantém marcadores de recuperação de configuração, snapshots do último estado válido conhecido e histórico de leituras suspeitas em seu estado compartilhado durante a migração, sem deixar para trás um arquivo de log separado de integridade da configuração. 6daabd2 Obrigado @vincentkoc.
  • No Windows, comandos Crabbox iniciados por shims de pacotes Node agora recebem flags de provedor, comandos de shell e caracteres especiais de shell como inseridos, em vez de perdê-los ou reinterpretá-los. 54d24cd Obrigado @vincentkoc.
  • Fluxos de trabalho Crabbox direcionados ao Windows têm menor probabilidade de falhar ou recorrer ao tratamento de shell mais lento ao iniciar ferramentas Node por meio de shims .cmd e .bat. d48dcc6 Obrigado @vincentkoc.
  • Usuários do Windows podem executar crabbox, git e outras ferramentas baseadas em Node por meio de shims de comando instalados pelo npm sem que o Crabbox pare antes de a ferramenta abrir. 77f4e45 Obrigado @vincentkoc.
  • openclaw doctor agora verifica perfis que omitem configurações de política de ferramentas sem tratar a omissão válida como erro. 03ba09b
  • openclaw doctor não mostra mais avisos enganosos de seção de ferramentas quando não consegue avaliar um perfil de pré-visualização personalizado. 420a0e6 Obrigado @vincentkoc.
  • openclaw doctor agora limita avisos de pré-visualização a perfis de ferramentas que consegue avaliar, evitando avisos enganosos de concessão configurada para perfis desconhecidos. 541f7ff Obrigado @vincentkoc.
  • Usuários do Windows podem instalar o OpenClaw a partir do código-fonte sem que a configuração de dependências seja bloqueada pelo instalador forçando scripts npm ou pnpm por meio de cmd.exe. 1252378 Obrigado @vincentkoc.
  • Configurações maiores do OpenClaw podem inicializar e gerar dicas de UI com mais eficiência, enquanto campos sensíveis continuam sendo marcados da mesma forma. #55018 Obrigado @huangyandi-red, @vincentkoc, @xdhuangyandi.
  • Alterações de configuração que ainda exigem uma reinicialização manual do gateway agora mostram um aviso claro de reinicialização obrigatória com a observação original preservada, em vez de parecerem concluídas com uma mensagem enganosa de config-patch ok. #83041 Relacionado a #46797. Obrigado @stache73, @xuruiray.
  • A ajuda de doctor, gateway, models, plugins, sessions e tasks agora aparece em dezenas de milissegundos, enquanto comandos como sessions --help e tasks --help antes levavam cerca de 1,6 a 1,8 segundos para começar a responder. #89628 Obrigado @yyzquwu.
  • Backends de rastreamento do OpenTelemetry, como Langfuse, agora mostram o nome real do provedor/modelo em vez de "unknown" para IDs de modelo qualificados por barra. #89981 Obrigado @mycarrysun, @vincentkoc.
  • Registros malformados ou antigos de pareamento de dispositivos não impedem mais que openclaw devices list mostre solicitações pendentes de aprovação, enquanto funções válidas ainda aparecem normalmente. #93504 Obrigado @ly-wang19.
  • O OpenClaw agora rejeita destinos SSH com dois-pontos extras no início ou no fim antes que possam produzir configuração SSH inválida ou falhas de inicialização de túnel para sandboxes e gateways baseados em SSH. #93887 Obrigado @miorbnli.
  • Usuários cuja configuração não interativa falha na verificação de integridade do gateway local agora recebem comandos de recuperação executáveis openclaw onboard --install-daemon ou openclaw onboard --skip-health, em vez de flags setup incompatíveis. #93994 Relacionado a #93947. Obrigado @bk-z1, @nianjiuzst.
  • Verificações de integridade e sondagem do Gateway agora aceitam o mesmo --port personalizado usado para iniciar um gateway local, rejeitam portas inválidas cedo e mostram o destino de local loopback selecionado na saída JSON. #94687 Relacionado a #79100. Obrigado @bryantegomoh, @ozthedivine.
  • gateway --force agora detecta processos somente IPv4 ocupando a porta do gateway e ainda tenta a limpeza quando uma verificação de porta é inconclusiva, em vez de tratar equivocadamente a porta como livre. #94949 Relacionado a #94426. Obrigado @sunlit-deng, @vincentkoc, @wangwllu.
  • openclaw config validate agora aceita configurações de servidor MCP baseadas em comando que usam explicitamente transport: "stdio", evitando falsos erros de validação enquanto ainda rejeita configurações stdio inválidas de estilo remoto. #95102 Relacionado a #95082. Obrigado @ken-jo, @lzyyzznl.
  • Edições de imagem pela CLI agora podem retornar várias variantes em um comando com --count <n>, em vez de ficarem limitadas ao único resultado padrão do provedor. #95300 Obrigado @ly-wang19.
  • openclaw sessions export-trajectory agora encontra sessões que outros comandos de sessão já conseguem ver quando armazenamentos personalizados, baseados em ~ ou modelados com {agentId} estão configurados, sem exigir novamente o caminho do armazenamento. #95570 Relacionado a #95568. Obrigado @youngting520.
  • Corrige infer inspect --name <id> --json exibindo flags que os comandos correspondentes da CLI não aceitavam, para que desenvolvedores e operadores possam descobrir com confiabilidade as opções compatíveis de modelo, autenticação e transcrição. #95719 Obrigado @ly-wang19, @vincentkoc.
  • Pessoas que inspecionam sessões muito grandes ou fora de ordem podem abrir os detalhes de uso e ainda receber as entradas de log mais recentes com carimbo de data/hora sem que o OpenClaw mantenha todo o histórico de logs analisado na memória. #96019 Obrigado @vincentkoc.
  • Operadores agora podem configurar o monitor de autenticação, o temporizador systemd e os widgets Termux para seu próprio host OpenClaw sem antes substituir nomes de host e caminhos de sistema de arquivos específicos de mantenedores. af3e509 Obrigado @vincentkoc.
  • A hidratação nativa do crabbox no Windows agora seleciona automaticamente o job daemon do Windows necessário, evitando execuções com falha ou mal direcionadas, mantendo WSL2 e substituições explícitas de job inalterados. d5d9a82 Obrigado @vincentkoc.
  • Pessoas que definem um avatar de agente local podem evitar imagens ausentes mantendo arquivos relativos ao workspace abaixo de 2 MB, enquanto avatares HTTP(S) e URI de dados não estão sujeitos a esse limite. #78884 Relacionado #65312. Obrigado @wangjieweb3-design, @nyx-nocturna.
  • As instruções padrão de agente do OpenClaw agora pedem que os agentes verifiquem soluções gratuitas ou de código aberto adequadas antes de propor uma implementação customizada, ainda permitindo trabalho customizado quando ele for a melhor opção. #86608 Obrigado @cablackmon.
  • Autores de Plugin agora podem usar o targetSessionKey documentado em eventos subagent_ended para associá-los ao spawn correspondente, em vez de depender de campos agentId ou childSessionKey que não são emitidos. #95191 Relacionado #95186. Obrigado @ken-jo, @mahaohao-ch.
  • Links de Skills do ClawHub na documentação do OpenClaw e em cartões de vitrine agora abrem as páginas canônicas qualificadas pelo proprietário, e exemplos de instalação usam referências openclaw skills install @owner/<slug> prontas para copiar em vez das rotas antigas apenas com slug. #95972 Obrigado @patrick-erichsen.

Ferramentas e trabalho agendado

Trabalhos agendados e ferramentas integradas agora concluem, tentam novamente, relatam falhas e preservam suas entradas pretendidas com mais consistência. Melhorias no runtime do SDK de Plugin também tornam extensões baseadas em ferramentas mais confiáveis ao carregar, retornar resultados ou executar trabalho agendado.

Fontes e colaboradores
  • Trabalhos Cron isolados que usam deleteAfterRun agora removem sua sessão temporária e transcrição após a conclusão, incluindo execuções com entrega desativada, reduzindo arquivos obsoletos, contexto acumulado e limpeza manual. #84794 Relacionado #84707. Agradecimentos a @bottenbenny, @turbotheturtle.
  • Trabalhos agendados individuais agora podem usar seus próprios modelos de fallback, executar com fallbacks desativados ou voltar à herança normal de fallback pela CLI, em vez de exigir que operadores editem dados de payload de nível inferior. #93369 Relacionado #90302. Agradecimentos a @849261680, @walliiee.
  • O histórico do Cron agora encontra com confiabilidade entradas cujos IDs de trabalho incluem espaços extras ao redor e rejeita IDs aninhados ou em branco antes que eles possam criar registros de log que não podem ser lidos de volta com segurança. #93567 Agradecimentos a @alix-007, @vincentkoc.
  • Adicionar ou remover um trabalho Cron não faz mais com que outro trabalho recorrente que já está vencido perca sua execução pendente. #94323 Agradecimentos a @yetval.
  • Leituras e gravações de documentos do Word, PowerPoint e Excel agora usam o caminho .docx, .pptx ou .xlsx pretendido, em vez de falhar contra uma extensão inventada. #95805 Relacionado #93326. Agradecimentos a @bhnan, @lzyyzznl, @vincentkoc, @xzh-icenter.
  • Usuários de automação de navegador mantêm os mesmos snapshots ricos em referências, incluindo ramificações úteis em resultados compactos, com menos processamento evitável durante a geração de snapshots. #96072 Agradecimentos a @vincentkoc.
  • Corrige comandos que atingem timeout e atualizações principais interrompidas no Windows que às vezes deixavam processos filhos em execução, para que o OpenClaw possa parar a árvore completa de processos com mais confiabilidade após cancelamentos, timeouts ou limpeza de atualização. a192b2e Agradecimentos a @vincentkoc.
  • Usuários do Windows têm menos probabilidade de ver instalações de ferramentas gerenciadas por agentes falharem ao descompactar downloads ZIP, como ripgrep, porque o OpenClaw agora usa os programas de extração integrados do Windows em vez de depender da consulta ao PATH. a5fde91
  • Verificações de configuração e runtime no Windows agora encontram ferramentas necessárias com mais confiabilidade usando o resolvedor confiável do System32, em vez de depender de uma entrada inesperada no PATH. d3b4444 Agradecimentos a @vincentkoc.
  • Execuções do SDK criadas com timeoutMs: 0 agora mantêm o timeout zero solicitado sem um watchdog indesejado do lado do cliente. 2bdcc83 Agradecimentos a @vincentkoc.
  • Comandos do OpenClaw travados agora param com confiabilidade mesmo quando chamadores fornecem timeouts de execução ou de saída ociosa extremamente grandes. 1425bb3 Agradecimentos a @vincentkoc.
  • Comandos com configurações de timeout extremamente grandes agora usam um máximo seguro em vez de falhar porque o runtime não consegue agendar a espera solicitada. 66b94ba
  • Configurações de permissão/bloqueio de ferramentas específicas de provedor agora se alinham com mais consistência aos avisos do doctor do OpenClaw, incluindo configurações com aliases de provedor, chaves específicas de modelo, IDs de modelo no estilo OpenRouter ou entradas de política malformadas. 8f2882f
  • Aplicações do SDK agora recebem tool.call.failed quando ferramentas terminais falham ou são bloqueadas, em vez de um evento de conclusão enganoso, para que o tratamento de falhas existente possa reagir corretamente. #95383 Agradecimentos a @ly-wang19.
  • Corrige solicitações de adição e atualização do Cron que eram rejeitadas quando campos de trabalho reconhecidos chegavam com espaços finais inofensivos, para que agendas possam ser salvas sem relaxar verificações contra entradas ambíguas ou inseguras. #95674 Relacionado #95407. Agradecimentos a @nassiel, @zw-xysk.
  • O monitoramento de subagentes do Codex lida com grandes conjuntos de agentes filhos e arquivos de transcrição com menos varredura desnecessária, enquanto formatos mais antigos de nomes de arquivos de transcrição continuam sendo resolvidos como antes. #96085 Agradecimentos a @vincentkoc.
  • Corrige a hidratação nativa do crabbox no Windows que ficava travada ou perdia handoffs quando o runner e o daemon usam diretórios home diferentes, para que ambos possam encontrar o mesmo estado de trabalho e arquivos de parada. f354889 Agradecimentos a @vincentkoc.
Contribuições adicionais
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95308 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95465 Obrigado @wangmiao0668000666.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95625 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95649 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95681 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95857 Obrigado @romneyda.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95870 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95872 Obrigado @romneyda.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95879 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95890 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95909 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95922 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95946 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95967 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #95983 Obrigado @vincentkoc.
  • Melhora o agendamento de CI do repositório, o uso de runners e o tratamento de falhas. #96258 Obrigado @vincentkoc.
  • Melhora a automação das verificações de lançamento e o tratamento de evidências obrigatórias. #95094 Obrigado @romneyda.
  • Melhora a automação das verificações de lançamento e o tratamento de evidências obrigatórias. #95466 Obrigado @jason-allen-oneal.
  • Melhora a automação das verificações de lançamento e o tratamento de evidências obrigatórias. #95876 Obrigado @romneyda.
  • Melhora a automação das verificações de lançamento e o tratamento de evidências obrigatórias. #95880 Obrigado @romneyda.
  • Melhora a automação das verificações de lançamento e o tratamento de evidências obrigatórias. #95919 Obrigado @romneyda.
  • Melhora a automação das verificações de lançamento e o tratamento de evidências obrigatórias. #95928 Obrigado @vincentkoc.
  • Melhora a automação das verificações de lançamento e o tratamento de evidências obrigatórias. #95991 Obrigado @vincentkoc.
  • Melhora a automação das verificações de lançamento e o tratamento de evidências obrigatórias. #96235 Obrigado @vincentkoc.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #94272 Obrigado @romneyda.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #94622 Obrigado @tayoun.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #95898 Obrigado @romneyda.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #95901 Obrigado @romneyda.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #95999 Obrigado @vincentkoc.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #96055 Obrigado @vincentkoc.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #96226 Obrigado @vincentkoc.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #96271 Obrigado @vincentkoc.
  • Melhora as ferramentas de empacotamento, publicação e validação de lançamentos. #97909 Obrigado @patrick-erichsen.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #91502 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #91506 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #94700 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95406 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95858 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95933 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95944 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95947 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95952 Obrigado @vincentkoc.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95961 Obrigado @vincentkoc.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95971 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #95975 Obrigado @vincentkoc.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #96003 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #96017 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #96030 Obrigado @romneyda.
  • Melhora a cobertura do QA Lab, a captura de evidências e as verificações de prontidão para lançamento. #96246 Obrigado @vincentkoc.
  • Adiciona ou repara cobertura de regressão focada para fluxos de trabalho de mantenedores. #87121 Obrigado @davinci282828, @lizuju.
  • Adiciona ou repara cobertura de regressão focada para fluxos de trabalho de mantenedores. #90223 Obrigado @aniruddhaadak80.
  • Adiciona ou repara cobertura de regressão focada para fluxos de trabalho de mantenedores. #93378 Obrigado @mmyzwl, @yachiyo1680.
  • Adiciona ou repara cobertura de regressão focada para fluxos de trabalho de mantenedores. #95475 Obrigado @kklouzal.
  • Adiciona ou repara cobertura de regressão focada para fluxos de trabalho de mantenedores. #95499 Obrigado @romneyda.
  • Adiciona ou repara cobertura de regressão focada para fluxos de trabalho de mantenedores. #95602 Obrigado @vincentkoc, @zats.
  • Adiciona ou repara cobertura de regressão focada para fluxos de trabalho de mantenedores. #95653 Obrigado @vincentkoc.
  • Melhora a manutenção do repositório e os fluxos de triagem de contribuidores. #76668 Obrigado @wadydx.
  • Melhora a manutenção do repositório e os fluxos de triagem de contribuidores. #87861 Obrigado @coder999999999, @shuofengzhang, @vincentkoc.
  • Melhora a manutenção do repositório e os fluxos de triagem de contribuidores. #95243 Obrigado @hugenshen, @vincentkoc.
  • Melhora a estrutura da documentação interna e a manutenção de referências de lançamento. #78715 Obrigado @mehrazmorshed.
  • Melhora a estrutura da documentação interna e a manutenção de referências de lançamento. #93502 Obrigado @harjothkhara.
  • Melhora a estrutura da documentação interna e a manutenção de referências de lançamento. #96044 Obrigado @romneyda.
  • Melhora a estrutura da documentação interna e a manutenção de referências de lançamento. #96057 Obrigado @vincentkoc.
  • Melhora a estrutura da documentação interna e a manutenção de referências de lançamento. #96061 Obrigado @vincentkoc.
  • Reforça os limites internos de comportamento sem alterar o fluxo de trabalho público do produto. #91193 Obrigado @davinci282828, @whiteyzy.
  • Reforça os limites internos de comportamento sem alterar o fluxo de trabalho público do produto. #95706 Obrigado @rushindrasinha, @vincentkoc.
  • Reforça os limites internos de comportamento sem alterar o fluxo de trabalho público do produto. #96179 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #89912 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #90439 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #96182 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #96191 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #96193 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #96195 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #96204 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #96206 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #96213 Obrigado @jalehman.
  • Move componentes internos de sessão e runtime para trás de limites compartilhados de manutenção. #96218 Obrigado @jalehman.
  • Melhora a sandbox de push do iOS e a cobertura de validação de lançamento. #95893 Obrigado @joshavant.
  • Atualiza a documentação de validação do harness do Copilot e a configuração de testes ao vivo. #95930 Obrigado @vincentkoc.
Was this useful?
On this page

On this page