Release Notes
๐ฆ Release v2.2.1
This release was automatically published from PR #15302.
Changes
See PR description: https://github.com/lobehub/lobehub/pull/15302
Commit Message
๐ LobeHub Release (20260528)
Release Date: May 28, 2026
Since v2.2.0: 220 merged PRs ยท 15 contributors
This cycle brings heterogeneous "platform agents" you can dispatch to local or remote devices, a rebuilt onboarding flow, document-centric chat, and a unified model-runtime error model โ with new DeepSeek V4 and Gemini 3.5 Flash support along the way.
โจ Highlights
- More Hetero Agents (OpenClaw / Hermes) โ Create heterogeneous agents and dispatch them to local or remote devices through the device gateway, with an execution-target switcher in the composer and persistent CLI sessions. (#15065, #15179, #15022)
- iMessage on Desktop โ New iMessage setup and bridge on desktop, plus bot attachments across every platform. (#15228, #15227, #15029)
- Skills in the Composer โ Drag skill chips into chat, trigger installed skills from the slash menu mid-line, and surface project-level skills in the homogeneous agent runtime. (#15095, #15061, #15110)
- New Models โ DeepSeek V4 Flash/Pro and Gemini 3.5 Flash across providers, with thinking params for structured output and chat cost estimates. (#15031, #15001, #15051, #14876)
- Agent Runtime Observability โ OpenTelemetry GenAI semantic conventions plus per-call generation tracing. (#15123, #15124)
๐ค Agents & Heterogeneous Runtime
- Platform agent creation โ OpenClaw/Hermes creation UI, device guard, and remote dispatch backend. (#15065)
- Execution-target switcher โ Pick local vs remote execution directly in the composer; device-selection UX with actionable guidance. (#15179, #15111)
- CLI hetero dispatch โ OpenClaw/Hermes dispatch with persistent sessions and a notify protocol. (#15022)
- Gateway snapshot as source of truth โ Consume the gateway
uiMessagessnapshot at step boundaries to keep chat state consistent. (#15153, #15152) - Client sub-agent as a normal tool call โ Simplifies the sub-agent execution path. (#15281)
- Hermes agent chain โ Implements the Hermes agent chain logic. (#15189)
- Device registry โ TRPC endpoints to register, list, update, and remove devices. (#15299)
- Desktop device routing โ Route gateway agent runs through
lh hetero exec; restoreuserIdin gateway dispatch and gate local-system by execution target. (#15132, #15232) - Agent signals โ Anchor agent-signal receipts to messages and isolate memory-agent messages into a child thread. (#14969, #14921)
๐ Onboarding
- Simplified first screen โ Defer topic creation to first send. (#15090)
- Market Agent Picker โ Added as a classic onboarding step, with template prefetch. (#14980, #15041)
- Welcome guidance โ Show agent welcome guidance on first run. (#15098)
- Mobile โ Adapt agent onboarding UI and restore Classic-step padding on mobile. (#15019, #15032)
- Discovery โ Streamline discovery to a single profession question. (#14987)
- Analytics โ Track onboarding step events and create-agent modal source. (#15133, #15028)
๐ Documents, Pages & Knowledge
- Thread chat in preview โ Embed thread chat in the document preview portal. (#15216)
- Non-markdown rendering โ Render non-markdown docs as a read-only highlight. (#15272)
- Multi-select โ Multi-select delete in the document tree. (#15125)
- Page-agent streaming โ Preview
initPagestreaming arguments. (#15039) - Per-agent topics โ Per-agent topic management page. (#15207)
- Server-side category โ Derive document category server-side and drop frontend predicates. (#15076)
๐งฉ Skills & Tools
- Drag skill chips โ Drag skills into chat input and register agent-document skills. (#15095)
- Slash menu โ Installed skills appear in the slash menu with a mid-line trigger. (#15061)
- Project skills โ Recognize project-level skills in the homogeneous agent runtime and surface them regardless of active device. (#15110, #15177)
- VFS archiving โ Archive oversized tool results to VFS instead of truncating. (#15074)
- @localFile mentions โ Drag folders into chat input as
@localFilementions on desktop. (#15071)
๐ง Model Runtime & Providers
- Error spec registry โ Unify error codes into a spec + pattern registry, split
ProviderBizErrorinto finer codes, classify Cloud-only codes via a tier digit, and addDatabasePersistError. (#15262, #15286, #15278, #15279) - New models โ DeepSeek V4 Flash/Pro (opencode-go) and Gemini 3.5 Flash; DeepSeek V4 Pro on SiliconCloud. (#15031, #15001, #15017, #15267)
- Structured output โ Thinking params for structured output, Bedrock structured generation, and DeepSeek
generateObjecttool choice. (#15051, #15174, #15054) - Cost โ Chat cost estimate support; preserve usage cost in custom streams. (#14876, #15218)
๐ฌ Chat & User Experience
- Follow-up chips โ Extend follow-up chip suggestions to general chat with scene-specific model config. (#15101, #14797)
- Input drafts โ Persist unsent input drafts across tab switches and prevent repeated draft restore. (#14992, #15024)
- Command menu โ Order topic/message search by recency and promote inline type filters. (#15094, #14986)
- Zoom HUD โ Show a zoom-level HUD on Cmd +/โ and Cmd 0. (#15294)
- Copy โ Unescape markdown escapes when copying user messages. (#15253)
๐ฅ๏ธ Desktop
- App Nap fix โ Prevent App Nap from dropping the gateway WebSocket during display sleep. (#14994)
- File preview โ Preview
.cjs/.mjs/no-extension files instead of binary fallback and expand~when opening local files. (#15168, #15284) - Cross-platform settings โ Open settings via main-window navigation on Windows/Linux and restore the route after an update restart. (#15036, #14922)
- Token refresh โ Prevent frequent logout from token-refresh retries. (#14928)
๐ Observability
- OTel GenAI โ Instrument Agent Runtime with OpenTelemetry GenAI semantic conventions. (#15123)
- Generation tracing โ Per-call
llm_generation_tracingwith a pre-allocated tracingId and recordFeedback router. (#15124, #15146) - Error classification โ Persist
ERROR_CODE_SPECSclassification on operation errors. (#15273)
๐๏ธ Database Migrations
- Batch migrations โ Topic usage stats, push tokens,
tasks.editor_data, and document shares. (#15280) - Tracing & eval tables โ Add
llm_generation_tracingand agent eval experiment tables. (#15126)
Self-hosted operators should run the database migration (
pnpm db:migrate, or restart with auto-migrate enabled) after upgrading. The changes are additive and backwards-compatible.
๐ Security & Reliability
- Security: Remove the
getPlaintextCredtool to prevent plaintext credential exposure. (#14998) - Security: Prompt account selection for Google OAuth and add
prompt=consentto the OIDC authorization URL to fix missing refresh tokens. (#15234, #15010) - Reliability: Preserve streamed content across a mid-stream cancel. (#15173)
- Reliability: Bound the Redis command timeout and configure the Anthropic client timeout. (#15091, #15042)
- Reliability: Prevent infinite recursion in the assistant chain. (#15288)
๐ฅ Contributors
Huge thanks to 15 contributors who shipped 220 merged PRs this cycle.
@AnotiaWang ยท @sxjeru ยท @algojogacor ยท @hardy-one ยท @arvinxx ยท @Innei ยท @tjx666 ยท @LiJian ยท @AmAzing129 ยท @Rdmclin2 ยท @Neko ยท @cy948 ยท @CanisMinor ยท @sudongyuer ยท @rivertwilight
Plus @lobehubbot and renovate[bot] for maintenance.
Full Changelog: v2.2.0...release/weekly-20260528