7.21.0-rc.580
- build(deps): bump the github-actions group across 1 directory with 15 updates by @dependabot[bot] in https://github.com/Activiti/Activiti/pull/5526
- build(deps): bump actions/setup-java from 5.7.0 to 6.0.0 in /.github/actions/setup-java-maven by @dependabot[bot] in https://github.com/Activiti/Activiti/pull/5528
- build(deps): bump actions/setup-java from 5.7.0 to 6.0.0 by @dependabot[bot] in https://github.com/Activiti/Activiti/pull/5527
- build(deps-dev): bump org.owasp:dependency-check-maven from 12.2.2 to 13.0.0 by @dependabot[bot] in https://github.com/Activiti/Activiti/pull/5508
- AAE-49678 Update Supply Chain Review GH AW to latest by @dsibilio in https://github.com/Activiti/Activiti/pull/5530
- AAE-51268 Improve output mapping expression error message and add test coverage by @eromano with @Copilot in https://github.com/Activiti/Activiti/pull/5531
- AAE-51133 Fix taskAssigneeLike in OR queries by @souvikpanda99 in https://github.com/Activiti/Activiti/pull/5525
Full Changelog: https://github.com/Activiti/Activiti/compare/7.21.0-rc.579...7.21.0-rc.580
4.6.1
Added
- chore: update bouncycastle version #801 (tanya732)
- Bump com.fasterxml.jackson.core:jackson-core from 2.22.1 to 2.22.2 in /lib #797 (dependabot[bot])
- chore: remove unused imports #794 credits - Zichen1028 🙌
v3.18.0
- IPv4 and IPv6 data updates with geofeeds and community reports merge.
- Golang xdb searcher optimization.
- Geo province name fix and new name standard for municipalities of China.
- Native windows build supports for cpp.
- Fix golang searcher by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/499
- fix:避免在 32 位平台上出现 maxFilePtr 溢出 by @fnoopv in https://github.com/lionsoul2014/ip2region/pull/500
- fix:
IPv4.IPCompare会修改输入切片(就地反转字节序) by @fnoopv in https://github.com/lionsoul2014/ip2region/pull/501 - fix:
SearcherPool关闭后BorrowSearcher()永久阻塞(死锁) by @fnoopv in https://github.com/lionsoul2014/ip2region/pull/502 - fix: 修复
LoadHeaderFromBuff无长度检查,可能 panic的问题 by @fnoopv in https://github.com/lionsoul2014/ip2region/pull/503 - IPSub to IPAdd (clearer semantics) by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/507
- fix: 修复 bench 在空源文件时除零 panic by @fnoopv in https://github.com/lionsoul2014/ip2region/pull/508
- fix errors reported by issues/479 by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/511
- fix (go): VersionFromHeader 错误消息打印正确的字段值 by @fnoopv in https://github.com/lionsoul2014/ip2region/pull/515
- fix (go): 修正 NewIp2Region v6 错误消息与注释中的拼写错误 by @fnoopv in https://github.com/lionsoul2014/ip2region/pull/516
- check and close the pool gracefully on init error by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/517
- merge the geofeed of global top provider on 20260808 by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/518
- apply the new format standard on 20260809 by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/519
- fix geo names on 20260809 by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/520
- fix the province names by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/521
- Data fix names on 20260814 by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/522
- merge the fixes reported on 20260828 by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/525
- fix(cpp): support native Windows builds by @Alice39s in https://github.com/lionsoul2014/ip2region/pull/526
- labels and comments to English by @lionsoul2014 in https://github.com/lionsoul2014/ip2region/pull/527
- @fnoopv made their first contribution in https://github.com/lionsoul2014/ip2region/pull/500
Full Changelog: https://github.com/lionsoul2014/ip2region/compare/v3.17.0...v3.18.0
Nightly
- 3952c6b: [py] run the BiDi tests against the Grid server (#17980) (David Burns) #17980
- 396099a: [py] fix flaky BiDi input tests that raced the page's autofocus (#17981) (David Burns) #17981
- 8cbf4bf: [py] raise typed WebDriver errors for BiDi wire error codes (#17952) (Titus Fortner) #17952
- a796c1e: [build] skip the release summary notification when no release ran (Titus Fortner)
- 580650f: [rb] fix Edge guards in BiDi protocol specs (Titus Fortner)
- cffe5d3: [build] run only Ruby smoke tests on browser pin PRs (Titus Fortner)
- fa44e74: [build] run beta browsers only in the scheduled RBE build (Titus Fortner)
- 9461d1b: [build] Automated Browser Version Update (major) (#17923) (Selenium CI Bot) #17923
- dc4fc25: [rb] give the Grid two minutes to become ready in remote specs (Titus Fortner)
- f7f60f9: [rb] wait for both downloads to finish before listing them (Titus Fortner)
- 825b0d1: [java] give Grid deployments more time to become ready in router tests (Titus Fortner)
- 4704bc5: [py] tolerate Safari's mid-navigation window errors in click and window tests (Titus Fortner)
- 4eaa35b: [rb] request the configured browser version when finding drivers (Titus Fortner)
- 507b67e: [rb] guard the Firefox Linux screencast failure to stable only (Titus Fortner)
- 58ddb03: [py] fix linting issue (Titus Fortner)
- 1303bd5: [build] bump rules_rs to 0.0.108 (#17997) (Titus Fortner) #17997
v2.0.3
This release introduces Anthropic prompt caching, a deliver_artifact tool for sandboxed agents, a FinalAnswerFilterMiddleware for ReAct streams, state versioning and optimistic concurrency primitives for agent state stores, an AgentProtocolEventBus for pluggable SSE event handling, and a console transcript overhaul, and includes a broad set of reliability fixes across the core reasoning loop, harness, sandbox, and AG-UI protocol layers.
Quick links: Quickstart | V1 Migration Guide | Going to Production
Core / Agent
- Propagate
ToolResultBlock.metadatathrough fine-grained v2 tool-result events (ToolResultTextDeltaEvent/ToolResultDataDeltaEvent/ToolResultEndEvent) so event-stream consumers can access tool-specific context (#2315) - Introduce
AgentProtocolEventBusfor pluggable SSE event handling in the agent-protocol layer (#2634) - State versioning and optimistic concurrency primitives —
VersionedState,ConflictPolicy, andConcurrentSessionModificationException— enablingAgentStateStoreimplementations to detect and reject stale writes
Middleware
FinalAnswerFilterMiddleware— an opt-in filter that buffers text events per model call, suppresses intermediate reasoning-round text when a tool call is produced, and emits only the final user-facing answer (#2926, #2872)
Model Providers
- Anthropic prompt caching: set
cache_controlbreakpoints on tools, system, and the last message; surfacecache_read_input_tokensandcache_creation_input_tokensin usage (#2350, #2223) - Anthropic + Gemini
ResponseParserreadcachedTokensinto usage (#2568) - Explicit no-cache semantics:
CACHE_CONTROL=falsemetadata maps to{"type":"no_cache"}for OpenAI and DashScope converters, so a single message can opt out of caching (#2685, #2684)
Harness / Tools
deliver_artifacttool for sandboxed agents — anArtifactDeliveryTargetSPI + tool that lets an agent inside a sandbox hand out produced files; the workspace prompt now references it when a target is configured, and states plainly that no cross-boundary mechanism exists otherwise (#2667, #2663)- MCP server registration results — an optional
McpServerRegistrationListenerwithSUCCESS/FAILED/SKIPPEDterminal states, so host services can identify and retire unhealthy MCP configurations (#2877, #2875) descriptionfield onSubagentFactoryEntryso the orchestrator gets useful subagent selection context instead of a bare name (#1506, #1504)- Public
ToolkitAPI to assign an already-registered tool to an additional group (#2836, #2835) - Stream ranged file reads in
ReadFileTool— positive line ranges are read incrementally and stop at the requested end line, avoiding loading the full file into memory (#2402)
AG-UI
- CopilotKit + AG-UI full-stack example covering threads, shared state, generative UI, A2UI workbench, and HITL flows end-to-end (#2554)
- Configure agent interruption on AG-UI disconnect (#2719, #2715)
Console
- Transcript overhaul — one bubble per user question, with text and tool calls rendered as ordered content blocks in chronological order;
react-markdownrendering, syntax-highlighted tool I/O cards, SSE auto-reconnect with exponential backoff, andsession.errorrendering (#2640)
Examples
- User binding preferences CRUD API for the DataAgent example (#2711)
- v2 application-layer RAG example (#2794)
- Move
AguiRuntimeContextRequest/AguiRuntimeContextResolver/AguiRequestBodyParserdown from the example layer into theextensions-aguiprotocol layer (#2822) - Replace the Java service control plane with the Go
aistiodcontrol plane, keeping the Java gateway, data, and scheduler planes; theagentscope-builderexample is promoted to the top-levelagentscope-servicemodule - Isolate HITL sessions by user — key
ThreadSessionManager/AgentResolverby(userId, threadId)sohasMemoryand agent reuse no longer mix tenants, and unwrap harness/stop interrupts viaAguiUtil.asReActAgentso demostopThreadand processor interrupts target the live session (#2856, #2855)
Core / Agent
- Propagate
ChatResponse.metadatatoMsg.metadatainReasoningContext(#2931) - Propagate agent state load failures instead of silently replacing conversation state with a fresh session on backend / I/O / decoding errors (#2760)
- Preserve caller-supplied permission context when loading legacy v1 session state, so 1.x → 2.0 migration does not silently downgrade to
DEFAULTpermission mode (#2769, #2768) - Retry empty final responses instead of finishing silently when a reasoning model emits its answer into
reasoning_contentwith emptycontent(#2755, #2750) - Persist the current turn's user input and safe context on model call failure so a resumed session can see the last question (#2799)
- Reconcile dangling
tool_useblocks on interrupt before persistingAgentState, fixing a window between reasoning and acting where pending tool calls were left unmatched (#2410, #2409) - Return suspended results for external tools instead of converting them to generic errors; emit
RequireExternalExecutionEventfor suspended tool calls (#1668, #1582) - Emit
ExternalExecutionResultEventwhen external tool results resume (#2605) - Restore event emitter for detached tool calls (#2483)
- Include field path in tool validation error messages (#2718)
- Simplify
ReActAgentpending tool and error result handling (#2666) - Normalize model-call tools in middleware to avoid duplicate or malformed tool definitions (#2756)
- Avoid event-loop blocking in
WorkspaceContextMiddleware#onSystemPrompt(#2632) - Use call-scoped
AgentStateforReActAgentshutdown retry recovery so theshutdownInterruptedflag is checked and cleared against the per-session state for the current(userId, sessionId)call, instead of the default session state (#2712, #2708)
Model Providers
- Gemini: apply
ModelUtils.applyTimeoutAndRetryto response streams so configured timeout and retry settings take effect (#2356) - RAGFlow: preserve final retry response body so callers can read error details (#2631)
- RAGFlow: type
rerankIdasStringto match the RAGFlow API (#2776)
Harness / Tools / Sandbox
- Stop skill-cache orphan GC from deleting live directories (#2840, #2787)
- Make Nacos skill source paths Windows-safe (#2921)
- Make memory flush fire-and-forget to unblock conversation completion; add
HarnessBackgroundTaskQuiescenceExtensionso tests drain background flush before@TempDirteardown (#2777, #2935) - Handle
SIGTERMin Docker keep-alive to avoid 30s stop delay (#2885) - Bound filesystem search tool output size (#2832)
- Isolate sandbox binding per call to fix concurrent corruption (#2675)
- Make concurrent sandbox uploads safe — unique hydrate temp names and native transfer for relative paths (#2762)
- Fix Windows Docker sandbox session file upload via tar stream (#2557)
- E2B: preserve zero exit code in JSON stream (#2609); reject incomplete process streams without exit code (#2828); reset projection state when recreating sandbox (#2586)
- Kubernetes sandbox: bump fabric8 to 7.8.0 to fix watch NPE with Jackson 2.19+ (#2766); follow redirects so file API downloads survive gateway 307 (#2748)
- Keep persisted snapshot id when resume falls back to fresh create (#2775)
- Add reply IDs to subagent lifecycle events (#2680)
- Inherit memory config in subagents (#2611)
- Make orphan sweep timeout boundary inclusive (#2619)
- Do not downgrade a user-interrupted session to a compaction failure (#2659)
AG-UI
- Assign per-tool result message ids (#2908)
- Emit frontend tool args from fragment deltas (#2874)
- Isolate HITL sessions by user (#2856)
- Emit AG-UI interrupt for permission-type HITL tool confirmation (#2495, #2437)
- Parse request bodies with Jackson 2 codec for Boot 4 / multimodal
MessageContent(#2638) - Suppress
ReActAgenthandshake events in AG-UI converters (#2639) - Stop emitting
RUN_FINISHEDafterRUN_ERRORby default (#2646) - Cancel MVC subscription on disconnect (#2786)
Protocol
- Clear task submit context before publishing terminal status to close an
awaitrace inAgentProtocolTaskStore(#2802)
Storage
- MySQL: remove path-separator check from
MysqlAgentStateStoresession id validation (#2022)
Console / Frontend
Nightly
- d2d3149: [build] add a daily workflow to update the pinned CDDL specs (#17972) (Titus Fortner) #17972
- 9d0ae9e: [py] resolve aliased CddlType members when generating BiDi annotations (Titus Fortner)
- 56e5c61: [py] stop sharing the default ClientConfig proxy between instances (Titus Fortner)
- f580b8d: [build] fix invalid escape sequence in the Java atom line format (Titus Fortner)
- 23c8a89: [py] fix swapped assert arguments in async script array tests (Titus Fortner)
- 50cc58f: [py] add missing assert in device serial options test (Titus Fortner)
- 802accd: [py] remove no-op port self-assignment from the test web server (Titus Fortner)
- ed2dda5: [rust] fix Windows architecture detection under WOW64 (#17987) (Titus Fortner) #17987
- 77ea3d0: [build] build Selenium Manager Linux binaries natively and pin the Rust toolchain (#17988) (Titus Fortner) #17988
- 0a6ea44: [rb] assert Safari returns a sharedId for a located node instead of failing on our own construction (Titus Fortner)
- 539dfe2: [rb] fix local dev execution (Titus Fortner)
- 2e98990: [build] Automated Dependency Update (#17937) (Selenium CI Bot) #17937
- 2df05d0: [rb] report the driver version that actually served each spec run (Titus Fortner)
- 5807971: [build] stop uploading changes.patch as a GitHub release asset (Titus Fortner)