3.22 sneed de kreeft open en verving de motor. 3.23 controleerde of de hechtingen hielden. 3.24 liet hem weer rennen — sneller dan voor de operatie.
3.28: de kreeft heeft een nieuw pantser.
Niet het zachte, doorschijnende vlies van net na de vervelling. Een echt pantser. Dicht, gelaagd, beproefd in de strijd. Met nieuwe scharen erbij.
Twee breaking changes. Eenentwintig features. Meer dan negentig fixes. Zoals altijd: productie-kreeften, voorzichtig upgraden.
Breaking Changes
Twee. Allebei schone sneden.
Qwen Portal OAuth is weg. De verouderde qwen-portal-auth-integratie voor portal.qwen.ai is verwijderd. Migreer naar Model Studio: openclaw onboard --auth-choice modelstudio-api-key. (#52709) Bedankt @pomelo-nwu.
Config-automigratie heeft een houdbaarheidsdatum. openclaw doctor herschrijft config-keys ouder dan twee maanden niet meer automatisch. Oeroude configs veroorzaken nu validatiefouten in plaats van stilletjes herschreven te worden. Tijd om te updaten.
Nieuwe scharen: modellen en providers
MiniMax-beeldgeneratie
MiniMax komt erbij als beeldgeneratie-provider met het image-01-model. Tekst-naar-beeld. Beeld-naar-beeld-bewerking. Beeldverhouding-controle. (#54487) Bedankt @liyuan97.
De eerste dedicated beeldgeneratie-provider in OpenClaw. De kreeft kan nu niet alleen zien — maar ook tekenen.
De MiniMax-modelcatalogus is ook opgeschoond: alleen M2.7 blijft, legacy M2, M2.1, M2.5 en VL-01 zijn verwijderd. Slank en gefocust.
xAI stapt volledig over naar de Responses API
De gebundelde xAI-provider migreert naar de Responses API met eersteklas x_search-ondersteuning. De xAI-plugin schakelt automatisch in vanuit web-search en tool-config — geen handmatige plugin-toggles meer voor gebundelde Grok-flows. (#56048) Bedankt @huntharo.
Bij onboarding bieden openclaw onboard en openclaw configure --section web nu optionele x_search-setup, inclusief een modelpicker met de gedeelde xAI-key.
CLI-backend-uitbreiding
Claude CLI, Codex CLI en Gemini CLI inferentie-defaults verhuizen naar het plugin-oppervlak. Gemini CLI krijgt gebundelde backend-ondersteuning. --cli-backend-logs vervangt --claude-cli-logs (oude flag blijft als alias). Auto-loading betekent dat geconfigureerde gebundelde kanalen werken zonder handmatige plugins.allow-entries.
Nieuwe reflexen: asynchrone tool-goedkeuring
De topfunctie voor plugin-ontwikkelaars.
before_tool_call-hooks ondersteunen nu asynchroon requireApproval — plugins kunnen tool-uitvoering halverwege pauzeren en de gebruiker om goedkeuring vragen. Het goedkeuringsoppervlak is flexibel: exec-goedkeuringsoverlay, Telegram-knoppen, Discord-interacties, of het /approve-commando op elk kanaal. (#55339) Bedankt @vaclavbelak en @joshavant.
Het /approve-commando verwerkt nu zowel exec- als plugin-goedkeuringen met automatische fallback. Een commando, twee goedkeuringspaden.
Concreet: een plugin kan gevaarlijke operaties bewaken — bestandsverwijdering, database-drops, productie-deploys — en ze blokkeren tot een mens toestemt. De AI-assistent krijgt een veiligheidsinterlock. De cybersecretaris draagt een kogelvrij vest.
Nieuw pantser: beveiliging en verharding
Web-search-key-audit uitgebreid. De beveiligingsaudit herkent nu Gemini-, Grok/xAI-, Kimi-, Moonshot- en OpenRouter-credentials via een grens-veilige gebundelde web-search-registry-shim. (#56540)
ACP-agent-registry verhard. OpenClaws ACPX ingebouwde agent-mirror is afgestemd op de nieuwste openclaw/acpx-commandostandaarden en ingebouwde aliassen. Versie-gepinde npx-builtins zijn vastgezet op exacte versies. Onbekende ACP-agent-IDs vallen niet meer door naar ruwe --agent-commandouitvoering op het MCP-proxy-pad. (#28321) Bedankt @m0nkmaster en @vincentkoc.
OpenAI apply_patch standaard ingeschakeld voor OpenAI- en Codex-modellen, sandbox-policy afgestemd op schrijfrechten.
Kanaalupgrades
ACP-conversatie-binds. /acp spawn codex --bind here kan nu de huidige Discord-, BlueBubbles- of iMessage-chat omzetten in een Codex-workspace zonder een kindthread aan te maken.
Slack-bestandsupload. Een expliciete upload-file-actie routeert bestandsuploads via Slacks transport met optionele bestandsnaam-/titel-/commentaar-overrides.
Unified bestandsverzending. Microsoft Teams, Google Chat en BlueBubbles krijgen expliciete upload-file-ondersteuning — het begin van kanaaloverstijgende file-first-unificatie.
Matrix-spraakbubbels. Auto-TTS-antwoorden op Matrix worden nu als native spraakbubbels verzonden in plaats van generieke audio-bijlagen. (#37080) Bedankt @Matthew19990919.
Infrastructuur
Podman vereenvoudigd. Containersetup geconsolideerd rond de huidige rootless-gebruiker. Launch-helper installeert onder ~/.local/bin. Workflow is nu openclaw --container <name> ... vanuit de host-CLI.
openclaw config schema print het gegenereerde JSON-schema voor openclaw.json. (#54523) Bedankt @kvokka.
Memory-plugin-contract. Pre-compactie memory flush verhuist achter het actieve memory-plugin-contract — memory-core bezit flush-prompts en target-path-policy in plaats van hardcoded core-logica.
Plugin-heartbeat. runHeartbeatOnce beschikbaar in de plugin-runtime-systeem-namespace voor enkele heartbeat-cycli met delivery-target-override. (#40299) Bedankt @loveyana.
Tavily-attributie. Uitgaande API-requests dragen nu X-Client-Source: openclaw zodat Tavily OpenClaw-verkeer kan toewijzen. (#55335) Bedankt @lakshyaag-tavily.
Geselecteerde fixes
Uit meer dan 90 fixes:
Agents/Anthropic: Onverwerkte provider-stopreasons (bijv. sensitive) worden hersteld als gestructureerde assistent-fouten in plaats van de agent-run te crashen. (#56639)
Google/Gemini 3.1: Pro, flash en flash-lite resolven correct voor alle Google-provider-aliassen. Flash-lite-prefixvolgorde gecorrigeerd. (#56567)
WhatsApp-echo-loop: In self-chat-DM-modus verwerkt de bot eigen uitgaande antwoorden niet meer opnieuw als nieuwe inkomende berichten. (#54570) Bedankt @joelnishanth.
Telegram-berichtsplitsing: Lange berichten worden nu op woordgrenzen gesplitst, niet midden in een woord. Graceful degradation wanneer tag-overhead de limiet overschrijdt. (#56595)
Discord-reconnect: Verouderde gateway-sockets worden leeggemaakt, gecachte resume-state gewist voor geforceerde reconnects. Recovery loopt niet meer in vergiftigde resume-state. (#54697) Bedankt @ngutman.
Agents/cooldowns: Rate-limit-cooldowns zijn nu per model — een 429 blokkeert niet meer alle modellen op hetzelfde auth-profiel. 30s/1min/5min-stappenladder vervangt de oude exponentiele escalatie. (#49834) Bedankt @kiranvk-2011.
Matrix E2EE-thumbnails: Versleutelde kamers versleutelen thumbnails met thumbnail_file, onversleutelde kamers behouden thumbnail_url voor plaintext-preview. (#54711) Bedankt @frischeDaten.
GitHub Copilot-auth: Grote expires_at-waarden worden als seconden-epochs behandeld, ver-toekomstige refresh-timers worden begrensd om setTimeout-overflow-hot-loops te voorkomen. (#55360) Bedankt @michael-abdo.
Mistral: OpenAI-compatibele request-flags genormaliseerd, officiele Mistral-API faalt niet meer met 422 status code (no body).
iMessage: Inline-[[reply_to:...]]-tags lekken niet meer in de bezorgtekst — reply_to wordt als RPC-metadata verzonden. (#39512) Bedankt @mvanhorn.
Bijdragers
Deze release bevat bijdragen van meer dan 50 personen.
@huntharo leverde de xAI Responses API-migratie, Telegram-pairing-fixes en plugin-inbound-claims — een van de grootste feature-transities van de release.
@ngutman landde Discord-reconnect-recovery, twee rondes sandbox-verbeteringen en de Carbon-beta-update — systematisch diepteverdedigingswerk.
@neeravmakwana fixte OpenAI Codex-image-tools, agents/status-contextvensters, gateway-plugin-hergebruik en CLI-plugin-auto-loading — vier fixes over vier subsystemen.
@joelnishanth loste WhatsApp-echo-loops, twee Discord-gateway-shutdown-edge-cases en Matrix-E2EE-crypto-loading op — stille, grondige kanaalverharding.
@xaeon2026 fixte OpenAI-compatibele tool-call-deduplicatie, WebSocket-reasoning-replay, agents/status en Codex-fallback — diep agent-infrastructuurwerk.
@shakkernerd leverde drie TUI-verbeteringen: onboarding-gateway-berichten, chatlog-systeembericht-snoei en activation-argumentvalidatie.
Bedankt aan @pomelo-nwu, @liyuan97, @vaclavbelak, @joshavant, @kvokka, @velvet-shark, @lakshyaag-tavily, @Matthew19990919, @loveyana, @gumadeiras, @schumilin, @scoootscooob, @BruceMacD, @gumclaw, @vincentkoc, @m0nkmaster, @mvanhorn, @kiranvk-2011, @michael-abdo, @frischeDaten, @bugkill3r, @erhhung, @sahancava, @danhdoan, @dongzhenye, @gregretkowski, @afurm, @jared596, @wbxl2000, @xieyongliang, @adzendo, @frankbuild, @alberthild, @nikus-pan, @felear2022, @markojak, @infichen, @bottenbenny, @mcaxtr, @MiloStack, @SnowSky1, @lurebat, @private-peter, @sallyom, @MonkeyLeeT, @oliviareid-svg, @chen-zhang-cs-code, @Nanako0129, @mbelinky, @nickludlam, @kakahu2015, @mathiasnagler, @NickHood1984, @esrehmki, @aquaright1, @xujingchen1996, @lml2468, @sparkyrider, @KevInTheCloud5617, @cosmicnet, @hongsw, @Takhoffman, @ysfbsf, @glitch418x, @Kimbo7870, @w-sss, en iedereen die issues heeft ingediend, pre-releases heeft getest of op Discord heeft geholpen.
---
3.22 opende de kreeft. 3.23 hield hem in leven. 3.24 liet hem rennen.
3.28: het nieuwe pantser is gehard. Nieuwe scharen om beelden te maken. Nieuwe reflexen om gevaar te onderscheppen. Nieuw pantser, gesmeed uit negentig fixes en het werk van vijftig bijdragers.
De kreeft is gepantserd. Tijd om te jagen.