Last 7 days
0
Features: 0
Changes: 0
Fixes: 0
Deprecations: 0
Distributed tracing platform for monitoring microservice transactions.
Latest Jaeger changelog updates, official release notes, breaking changes, security patches, pricing changes, and developer reactions in one product feed.
Follow this Jaeger release-notes page to spot useful features, risky migrations, noisy announcements, and source links before they hit your backlog.
Changes.Watch links back to official changelog and release-note sources so summaries stay easy to verify.
Use channels to follow groups of tools around a stack, workflow, or topic.
Rolling windows show how many product updates landed in the last 7, 30, 90, and 365 days, grouped by existing changelog semantics.
0
0
2
13
Breaking changes: promote Elasticsearch rotation and index‑cleaner feature gates to beta and drop support for Elasticsearch v6, with related config deprecations.
Added a new /api/v3/trace summaries endpoint and migrated UI search to use it, introducing lightweight trace summary API (feature, breaking).
Major breaking changes: metrics upgraded via OTEL collector packages and removal of min‑step API from metricstore; legacy browser support dropped.
Added several monitoring and UI features: timer duration bucket parsing, Grafana dashboard generator (ADR 007 steps), side‑panel span view and trace‑logs view, plus ClickHouse query optimizations and JaegerMCP tenancy/enforcement.
Breaking: Enforce Go 1.25.7 across the codebase and drop the legacy remote sampling response format.
Fixed default spankind handling in api/v3/operations.
- Breaking change: storage configuration now requires exactly one backend type for trace/metric storage.
Improve dark theme UI components and fix visual issues
- Removed legacy v1 components (collector, query, ingester) and storage/v1/grpc, migrating to v2 binaries and yaml‑based configuration (breaking change).
Fixed backend issues: registered basicauth extension, stable Go build for test tools, improved error messages, CI linting and Go cache cleanup.
Backend adds experimental ClickHouse storage support (factory, writer, attribute columns) and fixes enabletracing param for Jaeger v2
Adds experimental ClickHouse storage support (factory, writer, event attributes, complex attribute column) and fixes the enabletracing parameter for Jaeger v2 queries.
Backend updates include upgrading Jaeger tracegen Docker compose, fixing metric suffixes, adding experimental timeout support and new deployment scripts for the Jaeger demo, plus CI workflow validation and static analysis rule enablement.
Added Elasticsearch v9 support, OpenSearch 3.x, custom rangequery interface, API‑key authentication for Elasticsearch storage, and extended metric storage configuration.
Breaking changes: materialize `span.kind` and `span.status` tags for Elasticsearch and stabilize the `jaeger.es.disablelegacyid` feature.
Added new v2 ES/OS storage support, optional Elasticsearch health‑check disable, retries for ILM client and storage exporter, and extensive memory backend and ClickHouse trace APIs (getoperations, getservices, getdependencies, gettraces,...
Breaking: Elasticsearch now enables gzip compression by default and Jaeger v2 only supports Remote Storage API v2.
Breaking change: removed the `sampling.strategies.bugfix` flag, legacy agent code, and marked the feature as stable.
Dropped support for shared gRPC/HTTP query server ports, introducing a breaking change for query integrations
Breaking refactor: removed archive reader/writer from remote storage gRPC handler and unified primary and archive storage interfaces, requiring code updates.
Breaking changes: per‑operation sampling defaults and trace adjuster support added to API v2/v3 handlers.
Breaking changes: moved metrics and span reader decorators to storage factories, affecting the metrics and storage layers.
Jaeger v2 released, removing the Jaeger agent from distributions (breaking) and adding OTLP JSON support for Kafka, hotrod integration, TLS and queueing configuration updates (feature).
Breaking: removed the "grpc plugin" storage type, requiring migration to supported storage options.
Breaking change: OTEL Collector upgrade makes OTLP receivers bind to localhost only, affecting container networking (workaround: configure Jaeger to listen on 0.0.0.0).
Restored the "operation" name in the metrics response for SPM
Removed support for otel spanmetrics processor, expvar metrics, Elasticsearch v5/v6, and the gRPC plugin, with related refactors such as replacing metrics.factory calls and moving root span handling.
Backend updates include a new internal storage v2 spanstore interface, grpc client usage for the agent, sampling strategy fixes and template creation, Kafka consumer rack ID configuration, and CI permission adjustments.
Breaking change: updated hotrod instructions.
Add support for uploading traces in OpenTelemetry OTLP/JSON format and Elasticsearch storage for adaptive sampling.
Breaking change: removed internal OTLP types and switched to official OTLP v3 types, eliminating triple marshaling.
- Breaking: replace Zipkin server with Zipkin receiver from the OTEL collector contrib and align all‑in‑one metric names with standalone components.
Added Elasticsearch 8.x support and made ArchiveTrace button auto-configurable; renamed Jaeger v2 binary and published its Docker image.
Added new backend features: sampling store support, blackhole storage for benchmarking, span adjuster moving OTEL resource attributes, and experimental Jaeger v2 all‑in‑one configuration with primary/archive storage options.
Breaking: removed SAMPLING TYPE env var and switched containers to a non‑root user, requiring file ownership changes for Badger storage.
Made OTLP the default exporter for HotROD, removed Jaeger exporter support, and moved metrics endpoints to the frontend service, introducing breaking changes.
Switched core instrumentation from OpenTracing to OpenTelemetry across multiple plugins and services
Breaking: OpenTelemetry Prometheus exporter no longer normalizes metric names by default; can be re‑enabled with prometheus.query.normalize flags for calls and duration.
Enabled OTLP receiver by default, which may cause port conflicts; can be disabled via collector.otlp.enabled (breaking).
Added HTTP POST port mapping to Docker command and OTLP gRPC support for tracegen exporter.
Store span warnings as Cassandra tags and add Keep‑Alive flag to Zipkin HTTP server
Added support for secure OTLP exporter configuration in HotROD and introduced Jaeger YugabyteDB (YCQL) backend support.
Switched HotROD and tracegen from Jaeger SDK to OpenTelemetry SDK, removing several legacy environment variables (breaking)
Removed global platform argument from Cassandra schema Dockerfile.
Added release signing capability
Add OpenSearch 2.x support, expose OTEL thrift HTTP port, and integrate Anchore for SBOM signing.
Updated several Go dependencies (e.g., OpenTelemetry, Thrift, Viper) and pinned UI to version 1.27.1
Fixed Jaeger agent sampling JSON incompatibility and restored streaming span writer for gRPC remote storage plugins.
Added remote storage service, Windows ZIP file generation, and refactored the gRPC storage plugin for better composability.
Add a collector.enable span size metrics flag to report span size metrics.
Fixed bug where dependency flag was not recognized.
Fix custom gogo codec to support OTLP data handling
Add OTLP receiver support with configurable flags and TLS options for Admin and Zipkin servers
Fixed Prometheus factory API to restore its configurability
Added a Kubernetes example for the hotrod app, introduced gRPC streaming support in the storage plugin, and instrumented MetricsReader with metrics.
Added SAMPLING_STORAGE_TYPE environment variable, TLS min/max version support, and ciphersuite configuration options.
Enable gRPC reflection service on collector/query (new backend feature).
Bumped Go compiler in CI to 1.17.6.
Added remote gRPC option for storage plugins, introduced MaxConnectionAge[Grace] for the collector's gRPC server, and built darwin/arm64 binaries.
Remove deprecated `badger.truncate` CLI flag (breaking change)
Add auth token propagation for metrics reader
Added adaptive sampling support for Cassandra backend and introduced 'opensearch' as a SPAN_STORAGE_TYPE option.
Added Cassandra v4 support, Go ES index cleaner, CLI flag for gRPC max receive size, automatic OpenSearch version detection, and new Elasticsearch options (SendGetBodyAs, extended rollover lookback).
Added a query service with OTLP support and introduced ppc64le architecture for multi‑arch Docker images.
Upgrade Badger to v3.2103.0, breaking existing usage (expvar prefix changes, deprecates badger.truncate flag).
Added multiple new Elasticsearch features (index rollover modes, configurable ILM policy, remote read clusters, TIMEOUT env var) and injected trace context into gRPC metadata.
Breaking: removed numerous deprecated flags (TLS, query, CLI, health check, Cassandra) and introduced renamed flags across components.
Introduced new debug Docker images, a trace anonymization tool, URL‑based sampling config loading, runtime /debug/vars endpoint, and OTLP proto support for Kafka.
Deprecate `es.max_num_spans` in favor of configurable `es.max_doc_count`; if both are set the lower wins and the flag is slated for removal in v1.21.0. Also disable clock‑skew adjustment by default (`query.max_clock_skew_adjustment` set ...
Updated the UI to a functional version ahead of the upcoming React refactor
Reverted UI version back to 1.9 to address a critical bug
Added TLS support and automatic certificate reloading for the gRPC Query server (currently disabled due to missing flag)
Security fix for CVE‑2020‑10750 preventing Jaeger credential leaks from container logs.
Breaking removal of TChannel communication and ports, with CLI flags normalized and old address flags deprecated
Fixed Kafka TLS enablement when TLS auth is configured
Added numerous CLI options and configuration flags (service name, Kafka batching, dynamic queue sizes, raw UDP ports, trimpath, memory‑size activation) plus a new /api/sampling collector endpoint and basic authentication for Kafka storage
Http/gRPC endpoints now return an operation struct and accept an optional spanKind param, requiring client code updates; trace and span IDs are now zero‑padded, which may break custom ID‑matching integrations.
Fixed various bugs and applied minor improvements
Default ingester.deadlockInterval now defaults to 0, preventing panics on idle periods (breaking change).
Breaking: Jaeger now creates Elasticsearch index templates instead of indices, requiring additional permissions (e.g., X‑Pack) and potentially breaking existing deployments.
Changed default for bearer token propagation to false, introducing a breaking change
Breaking: traces metrics now include a new `sampler_type` tag, requiring query updates; Elasticsearch index separator `:` support removed, forcing migration to `.`‑based indices.
Removed kafka flags in favor of kafka.producer/kafka.consumer and introduced admin port grouping, requiring Prometheus rule updates (breaking).
Added kafka.producer and kafka.consumer flags, deprecating old kafka flags in Collector and Ingester (breaking change).
Auto-detect the version of the dependencies table (breaking change).
Breaking change: remove Cassandra SASI indices and provide a multi‑step migration to the new dependencies v2 table, with the old v1 table deprecated in future releases.
- Breaking change: Elasticsearch index prefix separator switched from “:” to “(”, no migration needed for existing indices.
Added embedded UI components SearchTraces and Tracepage
Added configurability to the agent reporting timeout and corrected flag overriding behavior.
Breaking change: agent configuration refactored and several agent flags deprecated to enable multiple reporters.
UI enhancements including clickable tags, trace comparison, directed graph React component, timeline expand/collapse, and Google Analytics integration on the search page
Breaking changes: storage implementations no longer write parentSpanID (requires query service upgrade first); Dockerfiles now use ENTRYPOINT and binary name is optional for flags; HTTP Thrift spans require Content-Type header and format...
Added bounds to memory storage and new metrics, including debug trace metrics and a revised naming scheme.
Add published binaries for Linux, macOS (Darwin), and Windows
Added support for traces up to 10k spans in Elasticsearch.
Added Docker image for HotROD demo (jaegertracing/example-hotrod) and related Dockerfiles
Added new backend capabilities: Elasticsearch bulk API, archive storage support, storage factory framework, configurable agent host port, and signal handling for standalone mode.
Added support for retrieving unadjusted/raw traces, CA certificates in collector/query images, and zipkin v2 high‑trace‑id parsing; made Cassandra service‑name index inserts idempotent and fixed SIGSEGV via atomic int64 alignment.
Added default Prometheus metrics for all backend components and TLS client support for Cassandra.
Added virtualized scrolling, adjustable left column, mouseover text expansion, and keyboard shortcuts to improve trace detail UI.
Changed the project license to Apache 2.0.
Added health‑check server to collector and query components
Added Elasticsearch as a storage backend.
Switch to official Cassandra 3.11 base image
Fixed startup failure when query.static files lack a trailing slash.
First official numbered release (0.5.0)