v2026.4.9

Genymobile/scrcpyv2026.4.9Apr 10, 2026by github-actions[bot]

AI Summary

A comprehensive update adding beginner documentation, fixing Windows WebSocket stability, and introducing new features for skill discovery, multi-provider selection, and persistent outbound delivery.

Key Highlights

  • Fixed Windows WebSocket disconnect issues
  • Added web-discovered skill installation support
  • Introduced interactive multi-provider selection
  • Added persistent outbound delivery outbox
  • Enhanced provider support for session_id and custom body parameters

New Features

  • Web-discovered skill installs
  • Interactive multi-provider selection
  • Durable outbound delivery outbox
  • Session ID and custom body parameters support

Full Release Notes

## What's Changed
* docs: add beginner's guide for non-technical users (EN | ZH) | docs: 新手入门指南(英文 + 中文) by @manelsen in https://github.com/nullclaw/nullclaw/pull/750
* release: package Windows binaries as zip archives | 发布(release): 将 Windows 二进制打包为 zip 归档 by @manelsen in https://github.com/nullclaw/nullclaw/pull/738
* v2026.4.7 by @DonPrus in https://github.com/nullclaw/nullclaw/pull/785
* fix(web): avoid immediate WebSocket disconnects on Windows | 修复(web): 避免 Windows 上 WebSocket 立即断开 by @manelsen in https://github.com/nullclaw/nullclaw/pull/742
* fix(onboarding): pretty json config alignment on interactive onboarding by @kunalk16 in https://github.com/nullclaw/nullclaw/pull/794
* fix: update build.zig.zon2json-lock for wasm3 and websocket by @jonathanhfmills in https://github.com/nullclaw/nullclaw/pull/792
* telegram: improve interactive reply UX | 改进(telegram): 优化交互回复体验 by @manelsen in https://github.com/nullclaw/nullclaw/pull/726
* providers(openrouter): preserve reasoning traces in stream | 修复(providers/openrouter): 保留流式 reasoning 轨迹 by @manelsen in https://github.com/nullclaw/nullclaw/pull/724
* onboard(cli): improve model setup and catalog selection | 改进(onboard/cli): 优化模型配置与目录选择 by @manelsen in https://github.com/nullclaw/nullclaw/pull/725
* fix(qq): retry delayed replies without msg_id | 修复(qq): 延迟回复在 msg_id 失效后改为普通发送重试 by @manelsen in https://github.com/nullclaw/nullclaw/pull/732
* feat(channels): retry transient final outbound sends | 功能(channels): 为最终出站消息增加瞬时失败重试 by @manelsen in https://github.com/nullclaw/nullclaw/pull/731
* feat(skills): support web-discovered skill installs | 功能(skills): 支持通过 Web 发现安装技能 by @manelsen in https://github.com/nullclaw/nullclaw/pull/735
* fix(ollama): normalize scheduler tool aliases | 修复(ollama): 规范 scheduler 工具别名 by @manelsen in https://github.com/nullclaw/nullclaw/pull/744
* refactor(tools): share file and web search helpers | 重构(tools): 共享文件与网页搜索辅助工具 by @manelsen in https://github.com/nullclaw/nullclaw/pull/745
* config: fix custom provider primary model parsing | 修复(config): 修正自定义 provider 的主模型解析 by @manelsen in https://github.com/nullclaw/nullclaw/pull/728
* feat(model-picker): add interactive multi-provider selection | 功能(model-picker): 增加交互式多 provider 选择 by @manelsen in https://github.com/nullclaw/nullclaw/pull/727
* feat(channels): add durable outbound delivery outbox | 功能(channels): 增加持久化出站投递 outbox by @manelsen in https://github.com/nullclaw/nullclaw/pull/730
* fix(config): validate agent provider by @fakhriaunur in https://github.com/nullclaw/nullclaw/pull/788
* fix(providers): guard tool_calls and choices against null JSON values by @vernonstinebaker in https://github.com/nullclaw/nullclaw/pull/781
* fix(cli): filter streamed tool-call markup by @vernonstinebaker in https://github.com/nullclaw/nullclaw/pull/761
* onboard: respect container workspace defaults by @valonmulolli in https://github.com/nullclaw/nullclaw/pull/756
* fix(observability): default OTLP endpoint to HTTPS | 修复(observability): OTLP 端点默认 HTTPS by @manelsen in https://github.com/nullclaw/nullclaw/pull/752
* test(security): add tests for Sandbox interface and NoopSandbox | 测试(sandbox): 添加 Sandbox 接口测试 by @manelsen in https://github.com/nullclaw/nullclaw/pull/751
* feat(providers): add session_id (user) and custom body parameters support | 特性(providers): 增加 session_id (user) 和自定义正文参数支持 by @manelsen in https://github.com/nullclaw/nullclaw/pull/709
* fix(onboard): keep Docker Compose onboarding on volume-backed defaults | 修复(onboard): 保持 Docker Compose 初始化使用卷挂载默认路径 by @manelsen in https://github.com/nullclaw/nullclaw/pull/749

## New Contributors
* @jonathanhfmills made their first contribution in https://github.com/nullclaw/nullclaw/pull/792
* @fakhriaunur made their first contribution in https://github.com/nullclaw/nullclaw/pull/788
* @valonmulolli made their first contribution in https://github.com/nullclaw/nullclaw/pull/756

**Full Changelog**: https://github.com/nullclaw/nullclaw/compare/v2026.4.7...v2026.4.9