jaeger v2.18.0 版本更新介绍
发布日期: 2026-05-13
版本号: v2.18.0
本次更新涵盖Jaeger后端与UI的全面升级。后端主要变更包括因升级OTEL组件库导致的指标体系破坏性调整、移除MetricStore最小步长API,以及新增查询服务自动检测浏览器URL路径、向ES/OS和gRPC存储转发请求头等功能。修复了MCP span类型大小写处理、ClickHouse数组别名兼容性、Cassandra超时配置及ES认证等多个问题。实验性功能集中在ClickHouse性能指标存储集成、MCP工具链增强(如服务依赖查询、OpenTelemetry指标中间件)和AI代理追踪实现。CI方面优化了指标对比流程、行结尾检查性能及依赖扫描。重构工作主要针对Cassandra存储的v2接口迁移和MCP文档统一。UI部分移除了旧版浏览器支持,新增自动检测URL前缀功能,修复了时间选择器、trace时间线重置、搜索结果布局等问题,并进行了大量组件函数式重构、Redux到Zustand的状态管理迁移及测试框架从Jest到Vitest的转换。
更新内容 (中文)
后端变更
⛔ 破坏性变更
- 由于升级所有OTEL collector包而导致的指标变更(由 @renovate-bot 在 #8560 中贡献)
- [metricstore] 从metricstore中移除最小步长API(由 @mahadzaryab1 在 #8425 中贡献)
✨ 新功能
- Feat(query):从浏览器URL自动检测UI基础路径 (adr-009)(由 @yurishkuro 在 #8568 中贡献)
- Feat(storage):将配置的头部转发至elasticsearch/opensearch后端(由 @ChaitanyaD48 在 #8544 中贡献)
- Feat(query):为grpc存储后端添加可配置的头部转发(由 @yurishkuro 在 #8539 中贡献)
🐞 缺陷修复、小幅改进
- Fix(mcp):在get_span_names处理器中将span_kind输入规范化为小写(由 @farhann-saleem 在 #8466 中贡献)
- Fix(clickhouse):修复clickhouse v26新分析器破坏的array join别名(由 @Copilot 在 #8547 中贡献)
- Chore(jaegermcp):移除非标准的health mcp工具(由 @Vi-shub 在 #8549 中贡献)
- [jaegermcp] 从关键路径逻辑中移除v1风格的reftype(由 @yurishkuro 在 #8467 中贡献)
- [cassandra] 在v2
todbmodel转换中添加缺失的spanhash值(由 @Manik2708 在 #8410 中贡献) - Fix(cassandra):在配置未设置时保留gocql超时(由 @masihkhatibzadeh99 在 #8380 中贡献)
- [jaeger_mcp] 从sep-414请求的
_meta中继续入站跟踪上下文(由 @SoumyaRaikwar 在 #8361 中贡献) - 在
start_time_min之后验证start_time_max(由 @utafrali 在 #8309 中贡献) - 修复因es/os写入时缺少
req.getbody而导致的sigv4认证失败(由 @dd-tone 在 #8308 中贡献)
🚧 实验性功能
- Feat(jaeger):实现用于前端动态上下文工具的新ai mcp端点(由 @Nabil-Salah 在 #8423 中贡献)
- [jaegerai] 重构路由注册和请求体大小处理(由 @yurishkuro 在 #8468 中贡献)
- [fix][clickhouse] 在clickhouse查询构建器中添加缺失的作用域属性(由 @mahadzaryab1 在 #8439 中贡献)
- [jaegermcp] 为mcp工具调用添加opentelemetry指标中间件(由 @CosmicAlgo 在 #8370 中贡献)
- [clickhouse][spm] 为clickhouse spm添加端到端测试(由 @mahadzaryab1 在 #8432 中贡献)
- [clickhouse] 将clickhouse指标存储集成到jaeger存储扩展中(由 @mahadzaryab1 在 #8426 中贡献)
- Feat(gemini-agent):实现ai gemini代理跟踪(由 @Nabil-Salah 在 #8398 中贡献)
- [clickhouse][spm] 为clickhouse存储实现
getcallrates(由 @mahadzaryab1 在 #8417 中贡献) - [clickhouse][spm] 为clickhouse存储实现
geterrorrates(由 @mahadzaryab1 在 #8414 中贡献) - [clickhouse][spm] 为clickhouse存储实现
getlatencies(由 @mahadzaryab1 在 #8411 中贡献) - [jaegermcp] 添加
get_service_dependencies工具(由 @lopster568 在 #8403 中贡献) - [clickhouse] 为clickhouse存储启用直接集成测试(由 @mahadzaryab1 在 #8389 中贡献)
- Feature:为clickhouse v2存储添加TTL支持(由 @singhvibhanshu 在 #7906 中贡献)
- [jaegermcp] 改进mcp工具描述(由 @lopster568 在 #8314 中贡献)
- [clickhouse] 为clickhouse存储实现依赖写入器(由 @mahadzaryab1 在 #8360 中贡献)
👷 持续集成改进
- Ci:在主分支上跳过指标比较和覆盖率回归门禁(由 @Copilot 在 #8469 中贡献)
- Chore(ci):修复过时的空go模块缓存(由 @Copilot 在 #8461 中贡献)
- Perf(lint):用python重写check-line-endings以实现约37倍加速(由 @yurishkuro 在 #8399 中贡献)
- Ci:将check-line-endings.sh集成到
make fmt和make lint中(由 @yurishkuro 在 #8393 中贡献) - Ci:从fossa工作区扫描中排除仅供开发的模块(由 @jkowall 在 #8390 中贡献)
- Fix(ci):在pr头sha上运行发布覆盖率门禁和指标比较检查(由 @Copilot 在 #8387 中贡献)
⚙️ 重构
- [cassandra] 移除v1 API依赖(由 @Manik2708 在 #8428 中贡献)
- [storage][cassandra] 实现v2
tracewriter(由 @Manik2708 在 #7699 中贡献) - [cassandra] 更改
corespanreader的签名以返回迭代器(由 @Manik2708 在 #8296 中贡献) - [depstore][v2] 更新depstore writer接口以接受context(由 @mahadzaryab1 在 #8365 中贡献)
📖 文档
- Docs(security):记录代码审查和双因素认证政策(由 @jkowall 在 #8524 中贡献)
- Docs(jaegermcp):修复adr-002和readme中的文档不一致之处(由 @Vi-shub 在 #8509 中贡献)
- 记录openssf金牌徽章证据刷新(由 @jkowall 在 #8497 中贡献)
- Docs(mcp):使search_traces adr与search_depth schema对齐(由 @farhann-saleem 在 #8472 中贡献)
- [clickhouse][adr] 添加clickhouse存储的adr(由 @mahadzaryab1 在 #8434 中贡献)
📊 UI变更
⛔ 破坏性变更
- Chore:放弃旧版浏览器支持(由 @ghosthouse7 在 #3712 中贡献)
✨ 新功能
- Feat(ui):在页面加载时从
window.location自动检测URL前缀(由 @yurishkuro 在 #3874 中贡献)
🐞 缺陷修复、小幅改进
- 修复监控页面图表在初始加载时的宽度(由 @gulshank0 在 #3555 中贡献)
- Fix:在整个UI中一致使用紧凑时长格式(由 @yurishkuro 在 #3846 中贡献)
- Fix(search):恢复被#3781破坏的时间选择器选项(由 @yurishkuro 在 #3845 中贡献)
- Fix(search):在搜索结果中使用紧凑时长格式(由 @Copilot 在 #3844 中贡献)
- Fix:为跟踪时间线中的span名称和子项展开器添加键盘可访问性(由 @swetalin-10 在 #3807 中贡献)
- 恢复嵌入模式 (
uiembed=v0) 下的跟踪时间线列调整功能(由 @Copilot 在 #3823 中贡献) - Fix:在otlp转换错误消息中包含后端错误(由 @yurishkuro 在 #3827 中贡献)
- Fix:在clicktocopy中阻止点击传播以防止头部折叠(由 @Copilot 在 #3818 中贡献)
- Fix(trace):恢复被react router v6迁移破坏的“返回搜索”链接(由 @yurishkuro 在 #3785 中贡献)
- Feat(trace):在时间线中添加按服务剪裁span的服务过滤器(由 @yurishkuro 在 #3765 中贡献)
- Fix:防止在列宽较窄时时间线刻度标签重叠(由 @aabhinavvvvvvv 在 #3768 中贡献)
- Fix(ui):按字母顺序排序服务(由 @bender316 在 #3734 中贡献)
- 🔒 修复prepare-release.py中的命令注入(由 @jkowall 在 #3717 中贡献)
- Perf:优化tracestatistics分组(由 @jkowall 在 #3718 中贡献)
- 在prepare-release目标中添加环境检查(由 @jkowall 在 #3512 中贡献)
- Fix:防止在tracediff使用空跟踪ID时出现无限循环(由 @parshipcy 在 #3714 中贡献)
- 为较小的屏幕调整搜索结果(由 @lpmi-13 在 #3697 中贡献)
👷 持续集成改进
- 删除 .github/workflows/s390x-build.yaml(由 @yurishkuro 在 #3851 中贡献)
- Fix(lint):解决eslint-plugin-jest(require-to-throw-message)警告(由 @JeevaRamanathan 在 #3759 中贡献)
- Fix(lint):禁用jest/no-conditional-expect(由 @vibhor-5 在 #3756 中贡献)
- Fix(lint):禁用eslint(no-shadow)警告(由 @vibhor-5 在 #3757 中贡献)
- Chore:添加knip;移除4个未使用的devDependencies(由 @yurishkuro 在 #3742 中贡献)
⚙️ 重构
- Refactor(spanview):从tracespanview中提取relativebar组件(由 @yurishkuro 在 #3855 中贡献)
- Refactor(stats):将tracestatisticsheader迁移到函数式组件(由 @WasThatRudy 在 #3842 中贡献)
- 阶段1(1f)的一部分:移除config redux slice;通过useconfig使用getconfig(由 @parshipcy 在 #3781 中贡献)
- 阶段1(1e)的一部分:将embed标志从redux迁出(由 @parshipcy 在 #3761 中贡献)
- 阶段1(1d)的一部分:将ddg视图修饰符从redux移至zustand(由 @parshipcy 在 #3750 中贡献)
- Fix(lint):用array.from替换new array(n),将no-new-array提升为错误(由 @mateenali66 在 #3754 中贡献)
- Fix(lint):清除未使用的变量/导入,在ts中将no-unused-vars提升为错误(由 @mateenali66 在 #3753 中贡献)
- Fix(lint):修复jest期望以包含匹配器调用,将valid-expect提升为错误(由 @Pasta-coder 在 #3752 中贡献)
- Fix(lint):丢弃无用的数组展开,将no-useless-spread提升为错误(由 @mateenali66 在 #3749 中贡献)
- Chore(lint):将oxlint配置移入vite.config.ts(由 @yurishkuro 在 #3748 中贡献)
- Fix(lint):将children作为参数传递,将no-children-prop提升为错误(由 @yurishkuro 在 #3747 中贡献)
- Chore:修复所有knip未使用导出警告;启用失败模式(由 @yurishkuro 在 #3745 中贡献)
- Chore:取消导出32个在各自文件外未导入的类型(由 @yurishkuro 在 #3744 中贡献)
- Chore:修复knip死代码警告(由 @yurishkuro 在 #3743 中贡献)
- 阶段1(子步骤2-1c)的一部分:将折叠/展开和详细状态迁移到zustand(由 @parshipcy 在 #3721 中贡献)
- 将measurablenode转换为函数式组件(由 @thc1006 在 #3407 中贡献)
- 将tracespanview迁移到函数式组件(由 @whiplashvin 在 #3470 中贡献)
- 阶段1(子步骤1c)的一部分:将跟踪时间线布局偏好移至zustand(由 @parshipcy 在 #3719 中贡献)
- 阶段1(1b)的一部分:归档通知器从redux迁移到zustand(由 @parshipcy 在 #3715 中贡献)
- 阶段1的一部分:重构:将跟踪diff状态从redux迁移到zustand(由 @parshipcy 在 #3702 中贡献)
- Refactor:将spangraph转换为函数式组件(由 @tmchow 在 #3705 中贡献)
- Test(jaeger-ui):将测试从jest迁移到vitest(由 @yurishkuro 在 #3695 中贡献)
- Test:为默认导出的模拟添加mockdefault辅助函数(由 @yurishkuro 在 #3694 中贡献)
- Test:将箭头构造函数模拟替换为常规函数(由 @yurishkuro 在 #3693 中贡献)
- Chore(jaeger-ui):将测试体中的require()替换为静态导入(由 @yurishkuro 在 #3692 中贡献)
- Chore(jaeger-ui):将jsx测试文件从.js重命名为.jsx(由 @yurishkuro 在 #3691 中贡献)
- [adr/007] 将packages/plexus测试从jest迁移到vitest(由 @yurishkuro 在 #3690 中贡献)
- [adr/007] 合并jaeger-ui tsconfigs(步骤e)(由 @yurishkuro 在 #3689 中贡献)
更新内容 (原始)
Backend Changes
⛔ Breaking Changes
- Metrics changes due to upgrading all OTEL collector packages (@renovate-bot in #8560)
- [metricstore] remove min step api from metricstore (@mahadzaryab1 in #8425)
✨ New Features
- Feat(query): auto-detect ui base path from browser url (adr-009) (@yurishkuro in #8568)
- Feat(storage): forward configured headers to elasticsearch/opensearch backend (@ChaitanyaD48 in #8544)
- Feat(query): add configurable header forwarding to grpc storage backend (@yurishkuro in #8539)
🐞 Bug fixes, Minor Improvements
- Fix(mcp): normalize span_kind input to lowercase in get_span_names handler (@farhann-saleem in #8466)
- Fix(clickhouse): fix array join alias broken by clickhouse v26 new analyzer (@Copilot in #8547)
- Chore(jaegermcp): remove non-standard health mcp tool (@Vi-shub in #8549)
- [jaegermcp] drop v1-style reftype from critical path logic (@yurishkuro in #8467)
- [cassandra] add missing
spanhashvalue to v2todbmodelconversion (@Manik2708 in #8410) - Fix(cassandra): preserve gocql timeouts when unset in config (@masihkhatibzadeh99 in #8380)
- [jaeger_mcp] continue inbound trace context from sep-414 request _meta (@SoumyaRaikwar in #8361)
- Validate start_time_max after start_time_min (@utafrali in #8309)
- Fix sigv4 auth failure due to missing req.getbody on es/os writes (@dd-tone in #8308)
🚧 Experimental Features
- Feat(jaeger): implement ai new mcp endpoint for frontned dynamic contextual tooling (@Nabil-Salah in #8423)
- [jaegerai] refactor route registration and request body size handling (@yurishkuro in #8468)
- [fix][clickhouse] add missing scope attributes in clickhouse’s query builder (@mahadzaryab1 in #8439)
- [jaegermcp] add opentelemetry metrics middleware for mcp tool invocations (@CosmicAlgo in #8370)
- [clickhouse][spm] add e2e test for clickhouse spm (@mahadzaryab1 in #8432)
- [clickhouse] integrate clickhouse metric storage into jaeger storage extension (@mahadzaryab1 in #8426)
- Feat(gemini-agent): implement ai gemini agent tracing (@Nabil-Salah in #8398)
- [clickhouse][spm] implement
getcallratesfor clickhouse storage (@mahadzaryab1 in #8417) - [clickhouse][spm] implement
geterrorratesfor clickhouse storage (@mahadzaryab1 in #8414) - [clickhouse][spm] implement
getlatenciesfor clickhouse storage (@mahadzaryab1 in #8411) - [jaegermcp] add get_service_dependencies tool (@lopster568 in #8403)
- [clickhouse] enable direct integration tests for clickhouse storage (@mahadzaryab1 in #8389)
- Feature: add ttl support for clickhouse v2 storage (@singhvibhanshu in #7906)
- [jaegermcp] improve mcp tool descriptions (@lopster568 in #8314)
- [clickhouse] implement dependency writer for clickhouse storage (@mahadzaryab1 in #8360)
👷 CI Improvements
- Ci: skip metrics comparison and coverage regression gate on main branch (@Copilot in #8469)
- Chore(ci): fix stale empty go module cache (@Copilot in #8461)
- Perf(lint): rewrite check-line-endings in python for ~37x speedup (@yurishkuro in #8399)
- Ci: integrate check-line-endings.sh into make fmt and make lint (@yurishkuro in #8393)
- Ci: exclude dev-only modules from fossa workspace scan (@jkowall in #8390)
- Fix(ci): post coverage gate and metrics comparison check runs against pr head sha (@Copilot in #8387)
⚙️ Refactoring
- [cassandra] remove v1 api dependencies (@Manik2708 in #8428)
- [storage][cassandra] implement v2
tracewriter(@Manik2708 in #7699) - [cassandra] change signature of corespanreader to return an iterator (@Manik2708 in #8296)
- [depstore][v2] update depstore writer interface to accept context (@mahadzaryab1 in #8365)
📖 Documentation
- Docs(security): document code review and 2fa policies (@jkowall in #8524)
- Docs(jaegermcp): fix documentation inconsistencies in adr-002 and readme (@Vi-shub in #8509)
- Document openssf gold badge evidence refresh (@jkowall in #8497)
- Docs(mcp): align search_traces adr with search_depth schema (@farhann-saleem in #8472)
- [clickhouse][adr] add adr for clickhouse storage (@mahadzaryab1 in #8434)
📊 UI Changes
⛔ Breaking Changes
- Chore: drop legacy browser support (@ghosthouse7 in #3712)
✨ New Features
- Feat(ui): auto-detect url prefix from window.location at page load (@yurishkuro in #3874)
🐞 Bug fixes, Minor Improvements
- Fix monitor page chart widths on initial load (@gulshank0 in #3555)
- Fix: use compact duration format consistently across ui (@yurishkuro in #3846)
- Fix(search): restore time picker options broken by #3781 (@yurishkuro in #3845)
- Fix(search): use compact duration format in search results (@Copilot in #3844)
- Fix: add keyboard accessibility to span name and child expander in trace timeline (@swetalin-10 in #3807)
- Restore trace timeline column resizing in embedded mode (
uiembed=v0) (@Copilot in #3823) - Fix: include backend error in otlp conversion error message (@yurishkuro in #3827)
- Fix: stop click propagation in clicktocopy to prevent header collapse (@Copilot in #3818)
- Fix(trace): restore “back to search” link broken by react router v6 migration (@yurishkuro in #3785)
- Feat(trace): add service filter to prune spans by service in timeline (@yurishkuro in #3765)
- Fix: prevent timeline tick labels from overlapping when column is narrow (@aabhinavvvvvvv in #3768)
- Fix(ui): sort services alphabetically (@bender316 in #3734)
- 🔒 fix command injection in prepare-release.py (@jkowall in #3717)
- Perf: optimize tracestatistics grouping (@jkowall in #3718)
- Add environment checks to prepare-release target (@jkowall in #3512)
- Fix: prevent infinite loop on tracediff with empty trace ids (@parshipcy in #3714)
- Adjust search results for smaller screens (@lpmi-13 in #3697)
👷 CI Improvements
- Delete .github/workflows/s390x-build.yaml (@yurishkuro in #3851)
- Fix(lint): resolve eslint-plugin-jest(require-to-throw-message) warnings (@JeevaRamanathan in #3759)
- Fix(lint): disable jest/no-conditional-expect (@vibhor-5 in #3756)
- Fix(lint): disable eslint(no-shadow) warnings (@vibhor-5 in #3757)
- Chore: add knip; remove 4 unused devdependencies (@yurishkuro in #3742)
⚙️ Refactoring
- Refactor(spanview): extract relativebar component from tracespanview (@yurishkuro in #3855)
- Refactor(stats): migrate tracestatisticsheader to functional component (@WasThatRudy in #3842)
- Part of phase 1 (1f): remove config redux slice; use getconfig via useconfig (@parshipcy in #3781)
- Part of phase 1 (1e): migrate embed flags off redux (@parshipcy in #3761)
- Part of phase 1 (1d): move ddg view modifiers from redux to zustand (@parshipcy in #3750)
- Fix(lint): replace new array(n) with array.from, promote no-new-array to error (@mateenali66 in #3754)
- Fix(lint): clear unused vars/imports, promote no-unused-vars to error in ts (@mateenali66 in #3753)
- Fix(lint): fix jest expects to have matcher calls, promote valid-expect to error (@Pasta-coder in #3752)
- Fix(lint): drop useless array spread, promote no-useless-spread to error (@mateenali66 in #3749)
- Chore(lint): move oxlint config into vite.config.ts (@yurishkuro in #3748)
- Fix(lint): pass children as arg, promote no-children-prop to error (@yurishkuro in #3747)
- Chore: fix all knip unused-export warnings; enable failure mode (@yurishkuro in #3745)
- Chore: unexport 32 types not imported outside their own file (@yurishkuro in #3744)
- Chore: fix knip dead-code warnings (@yurishkuro in #3743)
- Part of phase1 (sub-2-1c): migrate collapse/expand and detail state to zustand (@parshipcy in #3721)
- Convert measurablenode to functional component (@thc1006 in #3407)
- Migrate tracespanview to functional component (@whiplashvin in #3470)
- Part of phase 1 (sub-1c): move trace timeline layout prefs to zustand (@parshipcy in #3719)
- Part of phase 1 (1b): archive notifier migrated from redux to zustand (@parshipcy in #3715)
- Part of phase 1: refactor: migrate trace diff state from redux to zustand (@parshipcy in #3702)
- Refactor: convert spangraph to functional component (@tmchow in #3705)
- Test(jaeger-ui): migrate tests from jest to vitest (@yurishkuro in #3695)
- Test: add mockdefault helper for default-export mocks (@yurishkuro in #3694)
- Test: replace arrow ctor mocks with regular functions (@yurishkuro in #3693)
- Chore(jaeger-ui): replace require() in test bodies with static imports (@yurishkuro in #3692)
- Chore(jaeger-ui): rename jsx test files from .js to .jsx (@yurishkuro in #3691)
- [adr/007] migrate packages/plexus tests from jest to vitest (@yurishkuro in #3690)
- [adr/007] consolidate jaeger-ui tsconfigs (step e) (@yurishkuro in #3689)
下载链接
- jaeger-2.18.0-darwin-amd64.sha256sum.txt
- jaeger-2.18.0-darwin-amd64.tar.gz
- jaeger-2.18.0-darwin-amd64.tar.gz.asc
- jaeger-2.18.0-darwin-arm64.sha256sum.txt
- jaeger-2.18.0-darwin-arm64.tar.gz
- jaeger-2.18.0-darwin-arm64.tar.gz.asc
- jaeger-2.18.0-linux-amd64.sha256sum.txt
- jaeger-2.18.0-linux-amd64.tar.gz
- jaeger-2.18.0-linux-amd64.tar.gz.asc
- jaeger-2.18.0-linux-arm64.sha256sum.txt
- jaeger-2.18.0-linux-arm64.tar.gz
- jaeger-2.18.0-linux-arm64.tar.gz.asc
- jaeger-2.18.0-linux-ppc64le.sha256sum.txt
- jaeger-2.18.0-linux-ppc64le.tar.gz
- jaeger-2.18.0-linux-ppc64le.tar.gz.asc
- jaeger-2.18.0-linux-s390x.sha256sum.txt
- jaeger-2.18.0-linux-s390x.tar.gz
- jaeger-2.18.0-linux-s390x.tar.gz.asc
- jaeger-2.18.0-windows-amd64.sha256sum.txt
- jaeger-2.18.0-windows-amd64.tar.gz
- jaeger-2.18.0-windows-amd64.tar.gz.asc
- jaeger-2.18.0-windows-amd64.zip
- jaeger-2.18.0-windows-amd64.zip.asc
- jaeger-2.18.0.sha256sum.txt
- jaeger-SBOM.spdx.json
- jaeger-tools-2.18.0-darwin-amd64.sha256sum.txt
- jaeger-tools-2.18.0-darwin-amd64.tar.gz
- jaeger-tools-2.18.0-darwin-amd64.tar.gz.asc
- jaeger-tools-2.18.0-darwin-arm64.sha256sum.txt
- jaeger-tools-2.18.0-darwin-arm64.tar.gz
- jaeger-tools-2.18.0-darwin-arm64.tar.gz.asc
- jaeger-tools-2.18.0-linux-amd64.sha256sum.txt
- jaeger-tools-2.18.0-linux-amd64.tar.gz
- jaeger-tools-2.18.0-linux-amd64.tar.gz.asc
- jaeger-tools-2.18.0-linux-arm64.sha256sum.txt
- jaeger-tools-2.18.0-linux-arm64.tar.gz
- jaeger-tools-2.18.0-linux-arm64.tar.gz.asc
- jaeger-tools-2.18.0-linux-ppc64le.sha256sum.txt
- jaeger-tools-2.18.0-linux-ppc64le.tar.gz
- jaeger-tools-2.18.0-linux-ppc64le.tar.gz.asc
- jaeger-tools-2.18.0-linux-s390x.sha256sum.txt
- jaeger-tools-2.18.0-linux-s390x.tar.gz
- jaeger-tools-2.18.0-linux-s390x.tar.gz.asc
- jaeger-tools-2.18.0-windows-amd64.sha256sum.txt
- jaeger-tools-2.18.0-windows-amd64.tar.gz
- jaeger-tools-2.18.0-windows-amd64.tar.gz.asc
- jaeger-tools-2.18.0-windows-amd64.zip
- jaeger-tools-2.18.0-windows-amd64.zip.asc