Highlight
- Realtime Voice Agent: Introduced a realtime voice agent with DashScope backends and local transport support.
- A2A Protocol Support: Added
A2AAgentclass to the agent module, enabling agent-to-agent communication. - New Pipeline Module: Added a new pipeline module with a
GoalPipelineclass for goal-driven agent workflows. - Agent-Driven Context Compression: Introduced a context compression tool that allows agents to manage their own context window.
- LLM Rerank for RAG: Added LLM-based reranking support to improve RAG retrieval quality.
- Volcengine Ark Model: Added support for Volcengine Ark chat model.
- MCP Enhancements: Support runtime MCP headers in Docker workspaces and improved MCP connection cleanup.
- Web UI Polish: Chat experience improvements including session auto-naming, query caching, and better dark mode support.
What's Changed
- fix(formatter): derive audio format from media type by @ump45nose in #2301
- fix(gemini): exclude tool-execution tokens from output_tokens by @iluv7 in #2406
- feat(formatter): use native multimodal tool outputs by @fancyboi999 in #2389
- docs(examples): fix broken relative link to _types.py in mem0 README by @feizhuzheng in #2438
- feat(pipeline): add new pipeline module and a
GoalPipelineclass by @DavdGao in #2428 - fix(webui): isolate sessions when switching agents by @iluv7 in #2429
- chore: bump version to 2.0.7.post1 by @DavdGao in #2452
- feat(agent): generate a final text summary after reaching max iterations by @qbc2016 in #2443
- fix(tracing): report interrupted chat responses by @fengting124 in #2450
- fix(model): preserve encrypted reasoning items in OpenAI Responses history by @qbc2016 in #2426
- fix(gemini): sanitize nullable type arrays by @helloJamest in #2437
- fix(webui): keep channel toggle inside card by @iluv7 in #2466
- fix(webui): follow system dark mode so sidebar buttons stay visible (#2467) by @PiedPiper911 in #2468
- fix(state): preserve LRU cache under concurrent hits by @fengting124 in #2457
- fix(xai): include reasoning tokens in output usage by @iluv7 in #2461
- ci(monitor): stop watching review events that can never access secrets by @DavdGao in #2472
- fix(formatter): derive multimodal tool-result identifier from the block's own stable id by @AmirF194 in #2165
- fix(example): disable uvicorn hot reload on Windows by @dvd233 in #2434
- fix(tool): make read cache backend-aware so Read->Edit works in workspaces by @nolanchic in #2092
- fix(agent): hint after repeated tool errors by @he-yufeng in #1816
- fix(app): drain the wake-up queue atomically by @DavdGao in #2476
- fix(scheduler): let one node own the timers by @DavdGao in #2477
- feat(rag): add LLM rerank support by @BreezyB1n in #1975
- fix(scheduler): validate cron before persistence by @redSun64 in #2442
- feat(agent): add agent-driven context compression tool by @jinliyl in #2143
- feat(channel): bind channel credentials interactively by @DavdGao in #2484
- fix(channel): show a channel that is starting as connecting, not stopped by @DavdGao in #2487
- feat(a2a): add
A2AAgentclass in the agent module by @YingchaoX in #2142 - docs(middleware): fix reply budget example class name by @zjncs in #2493
- fix(tool): apply schema-guided repair to tool arguments by @iluv7 in #2496
- fix: correct misleading docstring in src/agentscope/init.py by @sunrong1 in #2502
- fix(rag): normalize distance scores so higher means more relevant by @lyh7c00 in #2486
- fix(agent): record compression usage in context by @fengting124 in #2433
- feat(web_ui): chat polish, session auto-naming, and a query cache by @DavdGao in #2503
- fix(webui): auto-open task panel on first stateUpdated per session by @aniruddhaadak80 in #2431
- fix(mcp): clean up cancelled MCP connections by @014-code in #2499
- chore(release): bump version to 2.0.8 and add the A2A news item by @DavdGao in #2505
- fix: repair agent-facing prompt template text defects by @simpleqt in #2513
- docs: replace full-width colons with ASCII colons in CONTRIBUTING_zh.md URLs by @simpleqt in #2511
- fix(app): clear inbox consumer on session delete by @CoralGarden52 in #2519
- feat(mcp): support runtime MCP headers in Docker workspaces by @qbc2016 in #2456
- fix: block sending by Enter while a reply is in progress by @DavdGao in #2529
- fix(rag): escape Excel Markdown table cells by @MaxFreedomPollard in #2528
- fix(deps): pin ripgrep below 15.x to restore Windows dev installs by @Shxiao101 in #2526
- refactor(app): a session's origin is one tagged union by @DavdGao in #2536
- fix(app): support cross-owner agent invites by @logicwu0 in #2326
- test(mcp): follow SDK transport defaults by @iluv7 in #2542
- feat(model): add Volcengine Ark chat model support by @iluv7 in #2532
- feat(realtime): realtime voice agent with DashScope backends and local transport by @DavdGao in #2547
- docs(zh): link zh news entries to the zh docs locale by @ConcaSun in #2546
- fix(pipeline): honor verifier context reset by @yaodong-shen in #2544
- fix(web-ui): keep running MCP tool calls visible by @yang0228 in #2490
- fix(state): skip oversized read-cache entries by @wuwenbo0626 in #2534
- refactor(realtime): align RealtimeAgent naming with Agent by @DavdGao in #2550
- fix(task): hide completed prerequisites from blockedBy by @wuwenbo0626 in #2541
- fix(rag): preserve blank lines between paragraphs in WordParser by @liugy789 in #2538
New Contributors
- @ump45nose made their first contribution in #2301
- @feizhuzheng made their first contribution in #2438
- @fengting124 made their first contribution in #2450
- @PiedPiper911 made their first contribution in #2468
- @AmirF194 made their first contribution in #2165
- @dvd233 made their first contribution in #2434
- @redSun64 made their first contribution in #2442
- @zjncs made their first contribution in #2493
- @sunrong1 made their first contribution in #2502
- @lyh7c00 made their first contribution in #2486
- @aniruddhaadak80 made their first contribution in #2431
- @014-code made their first contribution in #2499
- @simpleqt made their first contribution in #2513
- @CoralGarden52 made their first contribution in #2519
- @MaxFreedomPollard made their first contribution in #2528
- @Shxiao101 made their first contribution in #2526
- @ConcaSun made their first contribution in #2546
- @yaodong-shen made their first contribution in #2544
- @yang0228 made their first contribution in #2490
- @wuwenbo0626 made their first contribution in #2534
- @liugy789 made their first contribution in #2538
Full Changelog: v2.0.7...v2.0.8