jaeger v2.16.0 版本更新介绍
发布日期: 2026-03-07
版本号: v2.16.0
后端更新包括强制要求Go 1.25.7版本一致性、移除远程采样端点旧版响应格式等破坏性变更,新增内部扩展的schemagen功能。修复了kafka接收器配置、ES认证测试协程泄露、启动时健康检查超时支持、查询服务最大追踪大小处理、空span名称清理、内存搜索时链接属性包含等多个问题,并改进了CI流程,如从codecov迁移到GitHub Actions、优化并行模式和汇总报告等。实验性改进涉及ClickHouse查询性能优化和Cassandra数据模型重构。UI更新重命名主包、修复悬停线溢出和V3客户端路径前缀忽略等问题,并引入了布局模式状态和span详情侧边栏等实验性功能,同时重构了多个组件为函数式组件。
更新内容 (中文)
后端变更
⛔ 破坏性变更
- 强制整个代码库的Go版本一致性;要求Go 1.25.7 (@Copilot 于 #8052)
- 移除远程采样端点的遗留响应格式 (@yurishkuro 于 #8014)
✨ 新功能
- 功能:为内部扩展添加 schemagen (#6186) (@SoumyaRaikwar 于 #7947)
🐞 缺陷修复、小幅改进
- [kafka 接收器配置] 将 traces.topic: 替换为 traces.topics: (@Copilot 于 #8144)
- 在 ES 认证器测试中禁用批量处理器以防止协程泄漏 (@Copilot 于 #8124)
- 添加对 ES 启动时健康检查超时的支持 (@ntdkhiem 于 #8096)
- 在查询服务中支持最大追踪大小问题 (@yurishkuro 于 #8098)
- 添加空跨度名称清洗器 (@Copilot 于 #8086)
- [内存] 按标签搜索时包含链接属性 (@Manik2708 于 #8077)
- 修复(ci):在指标比较工作流中将 upload-artifact 更新至 v6 (@jkowall 于 #8000)
🚧 实验性功能
- [clickhouse][性能] 重构 clickhouse findtraceids 查询以提升性能 (@mahadzaryab1 于 #8125)
- [cassandra][v2] 重构
fromdbmodel和todbmodel以接受并返回dbmodel.span(@Manik2708 于 #7844)
👷 CI 改进
- 从指标比较中移除 otel_scope_version 标签 (@yurishkuro 于 #8145)
- CI:如果存在摘要报告注释,则始终更新它 (@yurishkuro 于 #8135)
- CI:将 ci 摘要发布脚本提取到
.github/scripts/并添加单元测试 (@yurishkuro 于 #8134) - CI:将 ci 摘要报告拆分为计算 + 发布工作流 (@yurishkuro 于 #8132)
- CI:使用 gh pr list 获取 PR 编号 (@yurishkuro 于 #8123)
- CI:记录触发事件用于调试 (@yurishkuro 于 #8122)
- CI:修复摘要报告以能够检索 PR 编号 (@yurishkuro 于 #8121)
- CI:将覆盖率控制从 codecov 迁移到 github actions (@yurishkuro 于 #8111)
- CI:将覆盖率控制从 codecov 迁移到 github actions (@yurishkuro 于 #8101)
- 修复:在 ci 并行模式下正确检测机器人 (@Copilot 于 #8097)
- [杂项] 修复机器人名称 (@yurishkuro 于 #8094)
- 重构(ci):实现用于条件并行化的 forked dag 编排器 (@Copilot 于 #8093)
- [测试] 将集成测试固定装置升级为 otlp 追踪 (@Manik2708 于 #8079)
- [测试] 将
default.json固定装置升级为 otlp 追踪 (@Manik2708 于 #8076) - [测试] 将
span_tags_trace.json从 v1 模型升级为ptrace.traces(@Manik2708 于 #8044) - 将 ci 重组为具有快速失败行为的 3 级顺序管道 (@Copilot 于 #8060)
- [测试] 重构集成测试以直接写入/读取
ptrace.traces(@Manik2708 于 #7812) - 对于 skip_debug_binaries 检查,使用 ifneq 替代 ifndef (@Copilot 于 #8039)
- 修复发布流程问题:命令复制按钮、文档标签以及 release.md 轮换 (@jkowall 于 #7990)
⚙️ 重构
- 应用
go fix ./...(@yurishkuro 于 #8074) - 将 http 服务器从 gorilla mux 迁移到标准库 http.ServeMux (@Copilot 于 #8013)
- 移除遗留的采样策略序列化代码 (@yurishkuro 于 #8017)
📖 文档
- 修复 elasticsearch 自述文件中的拼写错误和过时路径 (@cluster2600 于 #8068)
- [杂项] 添加自动扫描器策略和 vulncheck 目标 (@xenonnn4w 于 #8043)
📊 UI 变更
🐞 缺陷修复、小幅改进
- 将主包重命名为 @jaegertracing/jaeger-ui (@yurishkuro 于 #3560)
- 修复:关键路径段上悬停白线溢出 (@Parship12 于 #3550)
- 修复 v3 api 客户端忽略基础路径前缀 (@Copilot 于 #3549)
- 修复由于空值检查导致 spm 指标在初始加载时未获取的问题 (@Copilot 于 #3538)
🚧 实验性功能
- [adr-0006] 第 1 阶段:布局模式状态和切换控件 (@yurishkuro 于 #3558)
- Adr 006:侧边面板中的跨度详情 (@yurishkuro 于 #3556)
⚙️ 重构
- 重构(plexus):将 nodeslayer 从类转换为功能组件 (@thc1006 于 #3413)
- 重构(plexus):将 svglayer 从类转换为功能组件 (@thc1006 于 #3410)
- 重构(plexus):将 svglayersgroup 从类转换为功能组件 (@thc1006 于 #3412)
- 重构(plexus):将 svgedge 迁移至功能组件 (#3396) (@hharshhsaini 于 #3527)
更新内容 (原始)
Backend Changes
⛔ Breaking Changes
- Enforce Go version consistency across the codebase; require Go 1.25.7 (@Copilot in #8052)
- Remove legacy response format of remote sampling endpoint (@yurishkuro in #8014)
✨ New Features
- Feat: add schemagen for internal extensions (#6186) (@SoumyaRaikwar in #7947)
🐞 Bug fixes, Minor Improvements
- [kafka receiver config] replace traces.topic: with traces.topics: (@Copilot in #8144)
- Disable bulk processor in es authenticator test to prevent goroutine leaks (@Copilot in #8124)
- Add support for es health-check timeout at startup (@ntdkhiem in #8096)
- Support max trace size issue in the query service (@yurishkuro in #8098)
- Add empty span name sanitizer (@Copilot in #8086)
- [memory] include link attributes when searching by tags (@Manik2708 in #8077)
- Fix(ci): update upload-artifact to v6 in metrics comparison workflow (@jkowall in #8000)
🚧 Experimental Features
- [clickhouse][perf] restructure clickhouse findtraceids query to improve performance (@mahadzaryab1 in #8125)
- [cassandra][v2] refactor
fromdbmodelandtodbmodelto accept and returndbmodel.span(@Manik2708 in #7844)
👷 CI Improvements
- Remove otel_scope_version label from metrics comparison (@yurishkuro in #8145)
- Ci: always update summary report comment if present (@yurishkuro in #8135)
- Ci: extract ci summary publish script to
.github/scripts/with unit tests (@yurishkuro in #8134) - Ci: split ci summary report into compute + publish workflows (@yurishkuro in #8132)
- Ci: use gh pr list to get pr number (@yurishkuro in #8123)
- Ci: log trigger event for debugging (@yurishkuro in #8122)
- Ci: fix summary report to be able to retrieve pr number (@yurishkuro in #8121)
- Ci: migrate coverage gating from codecov to github actions (@yurishkuro in #8111)
- Ci: migrate coverage gating from codecov to github actions (@yurishkuro in #8101)
- Fix: correct bot detection in ci parallel mode (@Copilot in #8097)
- [chore] fix bot names (@yurishkuro in #8094)
- Refactor(ci): implement forked dag orchestrator for conditional parallelism (@Copilot in #8093)
- [test] upgrade integration tests fixtures to otlp traces (@Manik2708 in #8079)
- [test] upgrade
default.jsonfixture to otlp traces (@Manik2708 in #8076) - [test] upgrade
span_tags_trace.jsonfrom v1 model toptrace.traces(@Manik2708 in #8044) - Reorganize ci into 3-tier sequential pipeline with fail-fast behavior (@Copilot in #8060)
- [test] refactor integration tests to directly write/read
ptrace.traces(@Manik2708 in #7812) - Use ifneq instead of ifndef for skip_debug_binaries check (@Copilot in #8039)
- Fix release process issues: command copy buttons, documentation tagging, and release.md rotation (@jkowall in #7990)
⚙️ Refactoring
- Apply
go fix ./...(@yurishkuro in #8074) - Migrate http servers from gorilla mux to stdlib http.ServeMux (@Copilot in #8013)
- Remove legacy sampling strategy marshaling code (@yurishkuro in #8017)
📖 Documentation
- Fix typos and outdated path in elasticsearch readme files (@cluster2600 in #8068)
- [chore] add automated scanner policy and vulncheck target (@xenonnn4w in #8043)
📊 UI Changes
🐞 Bug fixes, Minor Improvements
- Rename main package to @jaegertracing/jaeger-ui (@yurishkuro in #3560)
- Fix: white hover line overflow on critical path segments (@Parship12 in #3550)
- Fix v3 api client ignoring base path prefix (@Copilot in #3549)
- Fix spm metrics not fetched on initial load due to null check (@Copilot in #3538)
🚧 Experimental Features
- [adr-0006] phase 1: layout mode state and toggle controls (@yurishkuro in #3558)
- Adr 006: span details in side panel (@yurishkuro in #3556)
⚙️ Refactoring
- Refactor(plexus): convert nodeslayer from class to functional component (@thc1006 in #3413)
- Refactor(plexus): convert svglayer from class to functional component (@thc1006 in #3410)
- Refactor(plexus): convert svglayersgroup from class to functional component (@thc1006 in #3412)
- Refactor(plexus): migrate svgedge to functional component (#3396) (@hharshhsaini in #3527)
下载链接
- jaeger-2.16.0-darwin-amd64.sha256sum.txt
- jaeger-2.16.0-darwin-amd64.tar.gz
- jaeger-2.16.0-darwin-amd64.tar.gz.asc
- jaeger-2.16.0-darwin-arm64.sha256sum.txt
- jaeger-2.16.0-darwin-arm64.tar.gz
- jaeger-2.16.0-darwin-arm64.tar.gz.asc
- jaeger-2.16.0-linux-amd64.sha256sum.txt
- jaeger-2.16.0-linux-amd64.tar.gz
- jaeger-2.16.0-linux-amd64.tar.gz.asc
- jaeger-2.16.0-linux-arm64.sha256sum.txt
- jaeger-2.16.0-linux-arm64.tar.gz
- jaeger-2.16.0-linux-arm64.tar.gz.asc
- jaeger-2.16.0-linux-ppc64le.sha256sum.txt
- jaeger-2.16.0-linux-ppc64le.tar.gz
- jaeger-2.16.0-linux-ppc64le.tar.gz.asc
- jaeger-2.16.0-linux-s390x.sha256sum.txt
- jaeger-2.16.0-linux-s390x.tar.gz
- jaeger-2.16.0-linux-s390x.tar.gz.asc
- jaeger-2.16.0-windows-amd64.sha256sum.txt
- jaeger-2.16.0-windows-amd64.tar.gz
- jaeger-2.16.0-windows-amd64.tar.gz.asc
- jaeger-2.16.0-windows-amd64.zip
- jaeger-2.16.0-windows-amd64.zip.asc
- jaeger-2.16.0.sha256sum.txt
- jaeger-SBOM.spdx.json
- jaeger-tools-2.16.0-darwin-amd64.sha256sum.txt
- jaeger-tools-2.16.0-darwin-amd64.tar.gz
- jaeger-tools-2.16.0-darwin-amd64.tar.gz.asc
- jaeger-tools-2.16.0-darwin-arm64.sha256sum.txt
- jaeger-tools-2.16.0-darwin-arm64.tar.gz
- jaeger-tools-2.16.0-darwin-arm64.tar.gz.asc
- jaeger-tools-2.16.0-linux-amd64.sha256sum.txt
- jaeger-tools-2.16.0-linux-amd64.tar.gz
- jaeger-tools-2.16.0-linux-amd64.tar.gz.asc
- jaeger-tools-2.16.0-linux-arm64.sha256sum.txt
- jaeger-tools-2.16.0-linux-arm64.tar.gz
- jaeger-tools-2.16.0-linux-arm64.tar.gz.asc
- jaeger-tools-2.16.0-linux-ppc64le.sha256sum.txt
- jaeger-tools-2.16.0-linux-ppc64le.tar.gz
- jaeger-tools-2.16.0-linux-ppc64le.tar.gz.asc
- jaeger-tools-2.16.0-linux-s390x.sha256sum.txt
- jaeger-tools-2.16.0-linux-s390x.tar.gz
- jaeger-tools-2.16.0-linux-s390x.tar.gz.asc
- jaeger-tools-2.16.0-windows-amd64.sha256sum.txt
- jaeger-tools-2.16.0-windows-amd64.tar.gz
- jaeger-tools-2.16.0-windows-amd64.tar.gz.asc
- jaeger-tools-2.16.0-windows-amd64.zip
- jaeger-tools-2.16.0-windows-amd64.zip.asc