📦 Release v2.2.4
This release was automatically published from PR [#15806].
Changes
See PR description: https://github.com/lobehub/lobehub/pull/15806
Commit Message
🚀 LobeHub Release (20260614)
Release Date: June 14, 2026\ Since v2.2.3: 99 commits · 99 merged PRs · 11 contributors
This cycle deepens cross-device collaboration — browser pairing, a shared desktop/CLI device gateway, and edit locks that keep multiple agents and people aligned on the same Context.
✨ Highlights
- Browser device pairing — Pair a browser as a device and route agent tools to it, with rename/delete actions on the branch switcher. (#15678, [#15774])
- Shared device gateway — Desktop and CLI now share one remote-device gateway RPC, so device-bound runs behave the same everywhere. (#15780)
- Operation status tray — A live op-status tray sits above the chat input, tracking operation usage and staying compact on narrow screens. (#14737, [#15736], [#15735])
- Inline file previews — HTML files render inline and remote read-only local files preview directly in the portal. (#15671, [#15673])
- New providers — Added AntGroup (蚂蚁百灵), Longcat with live model-list fetch, and new SenseNova models. (#13713, [#15134], [#15306])
- Desktop tab management — Drag-to-reorder desktop tabs, plus restored cloud desktop builds. (#15787, [#15666])
🏗️ Core Agent & Runtime
- Heterogeneous chaining — Stabilized main-message chaining and unified the client hetero executor on a shared
mainAgentReducer. (#15783, [#15762]) - Sub-agent resilience — Block recursive server sub-agents, keep async sub-agent streams alive, and rehydrate sub-agent runs from DB on cold replicas. (#15731, [#15646], [#15788])
- Reasoning persistence — Always persist assistant reasoning to the DB so it survives reloads. (#15687, [#15690])
- Device routing — Resolve device routing and device-tool injection through a single execution plan. (#15669, [#15683])
- Image attachments — Persist and deliver image attachments for device/sandbox hetero runs. (#15685)
- Virtual sub-agents — Split the virtual sub-agent entry and clarified its naming. (#15733, [#15737])
🖥️ Chat & User Experience
- Topic management — Topic sidebar status indicators, selector topic actions, and a
batchMoveTopicsmutation for bulk moves. (#15739, [#15744], [#15793]) - Local file portals — Scope local file tabs by working directory and auto-close empty local previews. (#15732, [#15760])
- Editing — Coalesce document autosave history into 10-minute windows and fold connector OAuth into the custom MCP form. (#15716, [#15661])
- Skills — Delete/remove actions on settings skill items. (#15708)
- Polish — Preserve message order after tool results and stop ContentLoading from leaking raw operation i18n keys. (#15657, [#15752])
🤖 Models & Providers
- Model bank metadata —
knowledgeCutoffbatch 2 with a metadata skill and an always-visible tab bar, plus backfilled family/generation data. (#15663, [#15642], [#15640]) - Provider quality — Improved DeepSeek structured output, Kimi code thinking mode, and a model guard kept in provider grouping. (#15680, [#15725], [#15681])
- Discoverability — Surface model-list fetch failures instead of failing silently. (#15753)
🔒 Reliability & Security
- Error classification — Classify "Agent state not found" as
StateStoreReadError, classify untypedErrorthrows via message patterns, and surface missing tool calls as errors. (#15778, [#15767], [#15691]) - Codex — Parse retry time in the stated timezone and detect the bundled Codex CLI from Codex.app on macOS. (#15758, [#15759])
- Mobile — Stop the
pushToken.unregister401 storm while preserving authenticated legacy cleanup, and gate inbox unread count by login state. (#15719, [#15723], [#15724]) - Performance — Derive topic activity from messages and drop sitemap generation to cut static export time. (#15726, [#15702])
- Security: Bumped
@opentelemetry/auto-instrumentations-node,@opentelemetry/sdk-node, andvitest. (#14686, [#14687], [#15698])
🔧 Tooling & Docs
- Agent testing — Merged local-testing and cli-backend-testing into a single
agent-testingskill, with local dev env bootstrap and post-run iteration. (#15699, [#15757], [#15700], [#15750]) - Docs — Replaced Claude-specific references with generic agent wording across skills. (#15785)
👥 Contributors
Huge thanks to 11 contributors who shipped 99 merged PRs this cycle.
@hezhijie0327 · @cokeSEE1 · @R3pl4c3r · @arvinxx · @tjx666 · @Innei · @Rdmclin2 · @LiJian · @sudongyuer · @Neko · @cy948
Plus @lobehubbot and renovate[bot] for maintenance.
Full Changelog: https://github.com/lobehub/lobehub/compare/v2.2.3...release/weekly-20260614