Skip to content

Releases: alibaba/arthas

arthas-all-4.2.2

04 Jun 12:42

Choose a tag to compare

变更概览

  • fix: 修复 MCP tools/call 自动轮询任务超时时间固定为 30s 的问题,现在会根据正数 arguments.timeout 追加 10s grace window,同时保留配置的 automatic polling timeout 作为最小等待时间,并补充 timeout 边界测试,见 #3205
  • docs: 新增中英文外部命令加载文档,覆盖 --command-locationsarthas.commandLocations、Spring Boot relaxed binding 和 ${arthas.home}/commands,并补充侧边栏、命令索引、高级用法和 Arthas properties 链接,见 #3206

对比

arthas-all-4.2.1

02 Jun 09:23

Choose a tag to compare

变更概览

  • fix: 修复开启 MCP password/auth 后,Streamable HTTP 异步执行 trace / watch 等命令时,已认证主体没有写入 Arthas session,导致异步 Job 创建后认证信息丢失的问题,见 #3202
  • docs: 文档站点新增侧边栏树形展开/折叠与搜索能力,支持中英文搜索占位、过滤结果自动展开,以及 hash 定位时滚动到当前条目,见 #3204
  • chore: update-doc 工作流在更新 gh-pages 后自动触发 sync-to-gitee,并为 Gitee 同步工作流补充手动触发入口,确保文档更新后镜像同步

对比

arthas-all-4.2.0

25 May 18:04

Choose a tag to compare

变更概览

  • feat: profiler 升级内置 async-profiler 到 4.4,移除已废弃的 check action,并将 --cstack 可选值更新为 fp|dwarf|vm|vmx|no,修复 Zing JVM 崩溃相关问题,见 #3186 #3199
  • chore: 默认 session timeout 从 30 分钟延长到 3 小时,覆盖 as.sharthas.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

09 May 08:28

Choose a tag to compare

变更概览

  • 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

09 Mar 06:31

Choose a tag to compare

变更概览

  • fix: 修复 ProcessImpl 并发场景下 processStatus 可见性问题,并补充并发测试,见 #3149
  • feat: 新增 skills 文档,包含 cpu-higheagleeye-traceidspring-context

对比

arthas-all-4.1.7

05 Mar 08:28

Choose a tag to compare

变更概览

  • feat: upgrade async-profiler to 4.3.0

对比

arthas-all-4.1.6

05 Mar 02:26

Choose a tag to compare

变更概览

  • 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

10 Jan 11:18

Choose a tag to compare

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

  • #1915 - vmtool 堆内存分析功能
  • #3120 - watch/trace 支持 classloader hash
  • #3121 - MCP viewfile 工具
  • #3122 - vmtool heap analyzer 实现
  • #3125 - 集成测试
  • #3127 - 修复 NullPointerException
  • #3128 - AnsiLog 可配置输出流

arthas-all-4.1.5-qlexpress

09 Jan 14:44

Choose a tag to compare

Pre-release

arthas 里的表达式支持 qlexpress 。

文档: https://github.com/alibaba/arthas/blob/qlexpress/site/docs/doc/qlexpress.md

感谢 @taokan @DQinYuan 的支持。欢迎大家测试。

arthas-all-4.1.4

29 Dec 06:21

Choose a tag to compare

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 秒超时延迟

其他修复

  • 修复 json-format 输出时调用构造函数的问题 (#3111, #3116)
  • 修复 vmtool mallocTrim 问题 (#3109)

📚 文档更新 (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 构建配置