# Jaeger v2.17.0 — Release v2.17.0 - Product: Jaeger (https://whatsnew.fyi/product/jaeger) - Vendor: CNCF - Date: 2026-03-30 - Version: v2.17.0 - Original notes: https://github.com/jaegertracing/jaeger/releases/tag/v2.17.0 - Permalink: https://whatsnew.fyi/product/jaeger/releases/v2.17.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Accept string-form error filters in trace search for memory storage - **fixed** — Guard addjitter against zero or sub-nanosecond durations to prevent panic - **fixed** — Clock skew adjuster to also adjust end timestamp - **added** — Implement timer duration bucket parsing in metrics init - **added** — Expose metrics storage to UI as storage capabilities - **changed** — Implement safe self-tracing via OTEL collector telemetry factory - **changed** — Optimize ClickHouse spans table for faster searching - **added** — Add system prompt instructions for LLM clients in jaegermcp - **fixed** — Enforce response limits in jaegermcp - **added** — Add Go SDK dashboard generator for monitoring - **added** — Enable tenancy enforcement in jaegermcp - **added** — Enforce config-driven limits in jaegermcp handlers - **fixed** — Fix jaegermcp server integration with Claude code - **fixed** — Fix ClickHouse trace ID timestamps table schema and query to deduplicate trace IDs - **changed** — Optimize ClickHouse get traces query by adding start and end time filter ###### Backend Changes ###### 🐞 Bug fixes, Minor Improvements * Implement timer duration bucket parsing in metrics init ([@junaiddshaukat](https://github.com/junaiddshaukat) in [#7951](https://github.com/jaegertracing/jaeger/pull/7951)) * Fix(memory): accept string-form error filters in trace search ([@YoungHypo](https://github.com/YoungHypo) in [#8217](https://github.com/jaegertracing/jaeger/pull/8217)) * Feat(monitor): restore grafana to spm docker-compose example (adr-007 step 1) ([@abhay1999](https://github.com/abhay1999) in [#8215](https://github.com/jaegertracing/jaeger/pull/8215)) * Safe self-tracing via otel collector telemetry factory ([@yurishkuro](https://github.com/yurishkuro) in [#8208](https://github.com/jaegertracing/jaeger/pull/8208)) * Fix: guard addjitter against zero/sub-nanosecond durations to prevent panic (fixes #8149) ([@shivamtiwari3](https://github.com/shivamtiwari3) in [#8178](https://github.com/jaegertracing/jaeger/pull/8178)) * Fix: clock skew adjuster to also adjust endtimestamp ([@Audio431](https://github.com/Audio431) in [#8170](https://github.com/jaegertracing/jaeger/pull/8170)) * Update mcp server readme ([@yurishkuro](https://github.com/yurishkuro) in [#8163](https://github.com/jaegertracing/jaeger/pull/8163)) * Feat(query): expose metricsstorage to ui as storage capabilities ([@hharshhsaini](https://github.com/hharshhsaini) in [#8154](https://github.com/jaegertracing/jaeger/pull/8154)) ###### 🚧 Experimental Features * [clickhouse] optimize spans table for faster searching ([@mahadzaryab1](https://github.com/mahadzaryab1) in [#8258](https://github.com/jaegertracing/jaeger/pull/8258)) * [jaegermcp] add system prompt instructions for llm clients (adr phase 4) ([@lopster568](https://github.com/lopster568) in [#8253](https://github.com/jaegertracing/jaeger/pull/8253)) * Fix(jaegermcp): enforce response limits ([@abhay1999](https://github.com/abhay1999) in [#8242](https://github.com/jaegertracing/jaeger/pull/8242)) * Feat(monitor): go sdk dashboard generator — adr-007 step 2a ([@abhay1999](https://github.com/abhay1999) in [#8216](https://github.com/jaegertracing/jaeger/pull/8216)) * [clickhouse][benchmarking] add initial results from benchmarking ([@mahadzaryab1](https://github.com/mahadzaryab1) in [#8181](https://github.com/jaegertracing/jaeger/pull/8181)) * [jaegermcp] enable tenancy enforcement ([@whiplashvin](https://github.com/whiplashvin) in [#8203](https://github.com/jaegertracing/jaeger/pull/8203)) * [jaegermcp] enforce config-driven limits in mcp handlers ([@rite7sh](https://github.com/rite7sh) in [#8194](https://github.com/jaegertracing/jaeger/pull/8194)) * [jaegermcp] fix mcp server integration with claude code ([@yurishkuro](https://github.com/yurishkuro) in [#8191](https://github.com/jaegertracing/jaeger/pull/8191)) * [clickhouse] fix trace id timestamps table schema / query to deduplicate trace_ids ([@mahadzaryab1](https://github.com/mahadzaryab1) in [#8180](https://github.com/jaegertracing/jaeger/pull/8180)) * [clickhouse] optimize get traces query by adding start and end time filter ([@mahadzaryab1](https://github.com/mahadzaryab1) in [#8152](https://github.com/jaegertracing/jaeger/pull/8152)) ###### 👷 CI Improvements * Fix: create reusable setup-go action to fix go module cache in ci workflows ([@Copilot](https://github.com/apps/copilot-swe-agent) in [#8257](https://github.com/jaegertracing/jaeger/pull/8257)) * Use gotestsum for all test execution ([@Copilot](https://github.com/apps/copilot-swe-agent) in [#8256](https://github.com/jaegertracing/jaeger/pull/8256)) * Fix(ci): correct metrics snapshot comparison noise ([@Copilot](https://github.com/apps/copilot-swe-agent) in [#8246](https://github.com/jaegertracing/jaeger/pull/8246)) * Ci(monitor): add dashboard sync check for go sdk generator (adr-007 step 3) ([@abhay1999](https://github.com/abhay1999) in [#8240](https://github.com/jaegertracing/jaeger/pull/8240)) * Fix(ci): add retry logic fo _[Truncated at 4000 characters — full notes: https://github.com/jaegertracing/jaeger/releases/tag/v2.17.0]_