Releases: alibaba/arthas
Releases · alibaba/arthas
arthas-all-4.2.2
变更概览
- fix: 修复 MCP
tools/call自动轮询任务超时时间固定为 30s 的问题,现在会根据正数arguments.timeout追加 10s grace window,同时保留配置的 automatic polling timeout 作为最小等待时间,并补充 timeout 边界测试,见 #3205 - docs: 新增中英文外部命令加载文档,覆盖
--command-locations、arthas.commandLocations、Spring Boot relaxed binding 和${arthas.home}/commands,并补充侧边栏、命令索引、高级用法和 Arthas properties 链接,见 #3206
对比
arthas-all-4.2.1
arthas-all-4.2.0
变更概览
- feat:
profiler升级内置 async-profiler 到 4.4,移除已废弃的checkaction,并将--cstack可选值更新为fp|dwarf|vm|vmx|no,修复 Zing JVM 崩溃相关问题,见 #3186 #3199 - chore: 默认 session timeout 从 30 分钟延长到 3 小时,覆盖
as.sh、arthas.properties和 Shell Server 默认值 - fix: 修复
classloader-metaspace在 JFR loader id 缺失时对 hidden class / array class 计数不一致导致的 ClassLoader 映射失败,并降低诊断日志噪音,见 #3198 - fix: 修复 MCP Server stop 时 graceful close 可能无限等待的问题,关闭各组件增加 5 秒超时并继续清理 task executor,见 #3194
- fix: 修复 MCP Streamable HTTP 响应关闭连接但未发送
Connection: close导致客户端复用已关闭连接、集成测试偶发失败的问题,见 #3200 - chore: 移除已废弃的
--use-http下载选项,repo-mirror继续支持 aliyun / center / HTTP repository URL,下载默认使用 HTTPS,见 #3189 - chore: release 流水线使用 JDK 21 构建 Tunnel Server fatjar,并要求 release asset 匹配成功,见 #3192
- docs: 更新 Arthas 4.x 支持 JDK 8+(含 JDK 17 / 21 / 25)的说明,并补充
classloader-metaspace、AI/MCP 文档侧边栏入口,见 #3195
对比
arthas-all-4.1.9
变更概览
- feat: 新增
classloader-metaspace命令,支持按 ClassLoader 实例统计 metaspace / class metadata 内存,见 #3188 - feat: MCP Server 支持 task 模式,支持长时间工具调用的异步执行、查询/取消,并限制并发 task session,见 #3140 #3182 #3185
- feat: 支持从启动 jar 加载外部命令,并补充外部命令集成测试,见 #3177
- feat:
grep命令新增-c, --count选项,只输出匹配行数 - feat: 新增
loongarch64平台支持,见 #3164 - fix: 修复 Arthas 启动时
main_class展示额外参数的问题,见 #3150 - fix: 修复
tt列出 fragments 时可能出现 NPE 的问题,见 #3171 - fix:
vmtool支持Object[]这类数组 className 写法,见 #3178 - chore: 升级 Tunnel Server 到 Spring Boot 3.5 / 3.5.14,升级 Netty,Docker 基础镜像切换到 Eclipse Temurin,见 #3173 #3179 #3181 #3158
- docs: 更新 MCP Server、vmtool、retransform 等文档,见 #3151 #3155 #3159
对比
arthas-all-4.1.8
变更概览
- fix: 修复
ProcessImpl并发场景下processStatus可见性问题,并补充并发测试,见 #3149 - feat: 新增
skills文档,包含cpu-high、eagleeye-traceid、spring-context
对比
arthas-all-4.1.7
arthas-all-4.1.6
变更概览
- feat: Add object-size-limit GlobalOptions for ObjectView (#3147)
- feat(http api):
retransfrom命令增加增强的 id 返回 (#3143) - fix(mcp):
watch/tt支持-M/--sizeLimit(#3144) - feat: profiler 输出支持 Markdown 报告生成
- feat: 正则表达式编译缓存功能,提升相关场景性能 (#3131)
- fix: 修复并发输出串扰问题 (#3133)
依赖升级
- upgrade bytekit to 0.1.6, asm to 9.9.1
- upgrade netty to 4.1.130.Final
其他改动
- add
.github/workflows/sync-to-gitee.yaml(#3137)
对比
arthas-all-4.1.5
Arthas 4.1.5 Release Notes
发布日期: 2026-01-10
本次版本包含 15 个提交,主要新增堆内存分析功能、MCP viewfile 工具、ClassLoader 精确增强等重要特性。
🚀 新特性 (Features)
1. vmtool 新增堆内存分析功能 (#1915, #3122)
感谢 @yuankong11
新增两个强大的堆内存分析 action:
heapAnalyze - 分析堆内存占用
vmtool --action heapAnalyze --classNum 5 --objectNum 3- 从 GC Root 可达对象出发,统计各个类的实例数量与占用字节数
- 输出占用最大的若干对象与类
- 支持
--classNum指定展示的类数量,--objectNum指定展示的对象数量
referenceAnalyze - 分析对象引用链
vmtool --action referenceAnalyze --className java.lang.String --objectNum 5 --backtraceNum 3- 分析某个类的实例对象,输出占用最大的若干对象及其引用回溯链(从对象回溯到 GC Root)
- 支持
--backtraceNum参数指定回溯层数(-1 表示一直回溯到 root,0 表示不输出引用链)
2. watch/trace/stack/tt/monitor 支持 ClassLoader Hash (#3120)
所有增强类命令新增 -c/--classloader 参数,支持指定 ClassLoader 精确增强:
sc -d com.example.Foo
watch -c 3d4eac69 com.example.Foo bar '{params,returnObj}'
trace -c 3d4eac69 com.example.Foo bar
stack -c 3d4eac69 com.example.Foo bar- 解决同名类被多个 classloader 加载时的增强歧义问题
- 可先用
sc -d查看 classloader hash,再用-c指定
3. MCP 新增 viewfile 工具 (#3121)
MCP Server 新增文件查看工具,支持分段读取大文件:
- 支持 cursor/offset 分段读取,避免一次性返回大量内容
- 支持目录白名单配置(环境变量
ARTHAS_MCP_VIEWFILE_ALLOWED_DIRS) - 默认允许目录:arthas-output、
~/logs/
4. AnsiLog 可配置输出流 (#3128)
- AnsiLog 支持自定义输出流配置,不再硬编码使用 System.out
- 便于日志输出的灵活控制和重定向
5. as-package.sh 支持 --fast 模式
打包脚本新增 --fast 参数,支持快速打包模式,提升开发效率。
🐛 Bug 修复 (Bug Fixes)
1. 修复 MCP 禁用时访问 arthas-output 的空指针异常 (#3127)
修复当 MCP 功能禁用时,访问 arthas-output 目录会抛出 NullPointerException 的问题。
📦 依赖更新 (Dependencies)
- 升级 byte-buddy 依赖至 1.18.3 版本
🔧 工程改进 (Engineering)
1. 新增 Telnet 停止泄漏集成测试 (#3125)
- 新增 telnet-stop-leak 测试目录
- 包含自动化测试脚本和 expect 脚本
- 新增 GitHub Actions 工作流支持
2. MCP 集成测试增强
- 新增 profiler 和 viewfile 工具的集成测试
- 新增 ViewFileToolTest 单元测试
3. EnhancerTest 修复与增强
- 修复 EnhancerTest 测试用例
- 新增 ClassLoader hash 增强相关测试
相关 Issue
arthas-all-4.1.5-qlexpress
arthas 里的表达式支持 qlexpress 。
文档: https://github.com/alibaba/arthas/blob/qlexpress/site/docs/doc/qlexpress.md
arthas-all-4.1.4
Arthas 4.1.4 Release Notes
发布日期: 2025-12-29
🚀 新特性 (Features)
MCP Server 增强
- 新增 Profiler MCP 工具 - 支持通过 MCP 协议进行性能分析 (
profiler命令) - 新增 sc MCP 工具 - 支持通过 MCP 搜索类 (#3107)
- 新增 sm MCP 工具 - 支持通过 MCP 搜索方法
- 新增 options MCP 工具 - 支持通过 MCP 查看/修改全局选项
- 新增 StopTool - 支持通过 MCP 停止 Arthas
- MCP Server 默认使用 STREAMABLE 协议 - 改进 SSE 流式传输,keepalive 间隔 15s (#3114)
- 新增 MCP 集成测试模块 (arthas-mcp-integration-test) (#3115)
classloader 命令增强
- classloader 支持
--url-classes选项 - 可以查看 URLClassLoader 加载的类来源 (#3098)
🐛 Bug 修复 (Bug Fixes)
内存泄漏修复
- 修复 Netty InternalThreadLocalMap ThreadLocal 泄漏问题 - 升级 termd 到 1.1.7.15 (#1794)
- 修复 ThreadLocal ClassLoader 泄漏问题 - 改进
ThreadLocalWatch实现
MCP Server 修复
- 修复 MCP last-event-id 请求返回 404 问题 (#3118)
- 修复 mcp-keep-alive-scheduler 线程未停止问题
- 优化 MCP session 校验 - 防止 2 秒超时延迟
其他修复
📚 文档更新 (Documentation)
- 修复
tt命令文档中-t参数示例 - 在
stop命令文档中添加retransform相关说明 - 更新
classloader命令文档,添加--url-classes用法
🔧 依赖升级 (Dependencies)
| 依赖 | 旧版本 | 新版本 |
|---|---|---|
| termd-core | 1.1.7.14 | 1.1.7.15 |
| mcp (新增) | - | 0.17.0 |
📦 构建变更 (Build)
- 新增 JDK 17+ profile,自动包含 arthas-mcp-integration-test 模块
- 修复 build-vmtool.yaml 构建配置