TL;DR: Two significant changes in this release:
- ☠️ Starting from this release the legacy v1 components
query,collector, andingester
are no longer published. All the remaining v1 utilities are now published as v2.x.x versions. - 🌓 The UI now officially supports dark theme and the theme selector is enabled by default.
Backend Changes
⛔ Breaking Changes
- Remove storage/v1/grpc (@yurishkuro in #7806)
- Migrate remote-storage to yaml configuration with shared storageconfig package (@Copilot in #7704)
- Remove v1 collector, query, and all-in-one (@yurishkuro in #7702)
- Remove v1/ingester and all kafka related code (@yurishkuro in #7701)
- Eliminate v1 binary references and sunset deprecated components (@Copilot in #7695)
- Fix otel collector v0.141.0 api breaking changes for toserver/toclientconn and kafka receiver/exporter (@Copilot in #7694)
🐞 Bug fixes, Minor Improvements
- Migrate docker-compose files to jaeger-v2 unified binary (@Copilot in #7747)
- Memory: support otlp first-class fields in search (@SoumyaRaikwar in #7728)
- Added indexspanalias and indexservicealias for explicit aliases (@SomilJain0112 in #7550)
- Fix: update replication strategy configuration in schema template (@danish9039 in #7726)
🚧 Experimental Features
- [fix][clickhouse] optimize service and operation retrieval queries (@mahadzaryab1 in #7808)
- [clickhouse] implement findtraces for clickhouse storage (@mahadzaryab1 in #7795)
- [clickhouse] create materialized view to store attribute metadata (@mahadzaryab1 in #7798)
- [clickhouse] update findtraceids to filter by complex attributes (@mahadzaryab1 in #7792)
- [clickhouse] update
findtraceidsto filter by other primitive attributes (@mahadzaryab1 in #7789) - [cassandra][v2] copy jaeger<->otlp translator from otel contrib (@Manik2708 in #7765)
- [clickhouse] update
findtraceidsto filter by string attributes (@mahadzaryab1 in #7788) - [clickhouse] update
findtraceidsto filter by timestamp (@mahadzaryab1 in #7787) - [clickhouse] update findtraceids to populate start and end timestamps (@mahadzaryab1 in #7770)
- [clickhouse] update
findtraceidsto filter by duration (@mahadzaryab1 in #7767) - [clickhouse] implement findtraceids for clickhouse storage for primitive parameters (@mahadzaryab1 in #7648)
- [clickhouse] add
trace_id_timestampstable with materialized view (@mahadzaryab1 in #7723) - [fix][clickhouse] remove
namecolumn from ordering key for operations table (@mahadzaryab1 in #7714)
👷 CI Improvements
- Fix ci for debug build of all-in-one (@yurishkuro in #7794)
- Use pre-built base image with debugger (@yurishkuro in #7793)
- Ci: exclude http 5xx metrics from comparisons (@neoandmatrix in #7671)
- Remove crossdock (@yurishkuro in #7750)
- Fine-tune when go-tip workflow runs (@yurishkuro in #7749)
- Fix: remove tool installation from go tip workflow (@chinmay3012 in #7716)
- Add "unused" linter (@yurishkuro in #7697)
⚙️ Refactoring
- Move query (@yurishkuro in #7803)
- Use otel optional for optional config fields (@Parship12 in #7766)
- [cassandra][v2] refactor factory signatures to use telemetry settings (@Manik2708 in #7764)
- [storage][cassandra][v2] implement
getservicesandgetoperations(@Manik2708 in #7754) - Remove unused factory and inheritable interfaces from v1 storage (@Copilot in #7755)
- Remove dependency on jaeger-client-go (@yurishkuro in #7745)
- Remove direct dependency on hdrhistogram-go (@jaegertracingbot in #7742)
- Cleanup and simplify jtracer package (@yurishkuro in #7739)
- [cassandra] refactor
tagfilterto acceptdbmodel.span(@Manik2708 in #7707) - [clickhouse] add indexes for spans table in clickhouse storage (@mahadzaryab1 in #7715)
- Remove deprecated namespace concept from cassandra storage options (@Copilot in #7719)
- Remove viperize from storage backend tests (@Copilot in #7712)
- Remove unused shared/grpc_client (@yurishkuro in #7713)
- Delete v1/memory storage implementaiton (@yurishkuro in #7711)
- Delete more dead code (@yurishkuro in #7710)
- Remove v1 storage factories (@yurishkuro in #7708)
- Upgrade grpc integration test to use v2 memory storage (@yurishkuro in #7709)
- Remove unused factory pattern code from sampling strategy packages (@Copilot in #7705)
- Remove some dead code (@yurishkuro in #7706)
📊 UI Changes
✨ New Features
- Enable theme selector by default (@yurishkuro in #3257)
🐞 Bug fixes, Minor Improvements
- Add visual indicator for synthetic otel attributes (@DCchoudhury15 in #3259)
- Fix: dark mode styling for trace view with design tokens (@jkowall in #3246)
- Fix in-trace search (@yurishkuro in #3255)
- Feat: add incomplete trace detection and adjustable search time offset (@xenonnn4w in #3248)
- Fix: constant visible white borders in the trace spans (@unknown in #3125)
- Force light mode by default if config is disabled (@yurishkuro in #3204)
- Use outlined tags for contrast (@bobrik in #3202)
🚧 Experimental Features
- Fix parentspanid calculation to validate traceid and handle follows_from references (@Copilot in #3268)
- Add lazy otel facade to domain model (@yurishkuro in #3263)
- Add useopentelemetryterms feature flag (@yurishkuro in #3262)
- Introduce otel data model (@yurishkuro in #3261)
- Apply styles to make minimap work in dark theme (@yurishkuro in #3256)
- Move theme vars back to root (@yurishkuro in #3247)
- Define theme vars in terms of antd vars (@yurishkuro in #3245)
- Fix dark mode by using css variables (@jkowall in #3242)
⚙️ Refactoring
- Simplify transformtracedata (@yurishkuro in #3274)
- Fix unsafe type coercion and add readonly collection fields (@Copilot in #3273)
- Persist spanmap and rootspans in trace object; use childspans array for tree structure (@Copilot in #3266)
- Prevent trace mutation during critical path computation (@Copilot in #3271)
- Convert tracestatistics to oteltrace (@yurishkuro in #3264)
- Convert 3 more jsx files to typescript (@yurishkuro in #3241)
- Fix: qualitymetrics auto-refresh issue (@unknown in #3222)
- Migrate qualitymetrics/index to use navigate instead of history (@unknown in #3214)
- Migrate uifindinput from history to navigate (@unknown in #3217)
- Convert servicegraph class component to functional component (@Copilot in #3212)
- Convert qualitymetrics/index to functional component (@unknown in #3210)
- Make update-ui-find backward compatible (@unknown in #3209)
- Remove usehistory - unused code (@unknown in #3207)