Backend Changes
✨ New Features
- Feat(apiv3): implement findtracesummaries grpc handler (@yurishkuro in #8634)
🐞 Bug fixes, Minor Improvements
- Fix(apiv3): support query.attributes filter in get /api/v3/traces (@yurishkuro in #8687)
- Feat(clickhouse): add tls configuration (@Pulkit7070 in #8650)
- [clickhouse] add linter for clickhouse (@mahadzaryab1 in #8641)
- [es] add missing scope and link fields to index templates (@Manik2708 in #8643)
- Fix: tools api mismatch between acp and jaeger gateway (@Nabil-Salah in #8608)
- Fix(apiv3): fix traceid casing, add snapshot test, and default searchdepth in trace-summaries endpoint (@yurishkuro in #8633)
- Feat: add get /api/v3/trace-summaries endpoint for lightweight search results (@yurishkuro in #8604)
- Fix(apiv3): accept camelcase http query params, keep snake_case as deprecated aliases (@yurishkuro in #8625)
- Fix(apiv3): rename query.num_traces to query.search_depth, keep deprecated alias (@yurishkuro in #8618)
- Ci(metrics): make pr metric diffs informational (@yurishkuro in #8605)
- Fix(storage/v2): use findtraceidsrequest for findtraceids rpc (@yurishkuro in #8603)
- Fix(storage): remove misleading error wrapper in getstoragefactory (@yurishkuro in #8593)
- Feat(grpc-storage): add max_recv_msg_size_mib config for grpc storage client (@yurishkuro in #8576)
🚧 Experimental Features
- Refactor(apiv3): replace hand-written json scaffolding with proto types in http gateway (@yurishkuro in #8646)
- Feat(grpc): implement summaryreader in grpc storage adapter (@yurishkuro in #8642)
- Feat(querysvc): compute trace summaries natively or fall back to full-trace aggregation (@yurishkuro in #8638)
- Feat(jaeger): implement ag-ui endpoint (@Nabil-Salah in #8505)
👷 CI Improvements
- Ci: reduce github actions token permissions (@jkowall in #8640)
- Fix(ci): always use submodule for npm cache key in setup-node.js action (@yurishkuro in #8654)
- Feat(ci): use latest jaeger-ui/main commit in snapshot builds (@yurishkuro in #8653)
- Fix(ci): stabilize codeql check results (@jkowall in #8615)
- Fix(lint): enforce per-file license headers (@jkowall in #8537)
⚙️ Refactoring
- [chore] enable revive deep-exit linter rule (@abhay1999 in #8274)
- [es] rename
numtracestosearchdepthin es v2 dbmodel (@aezyus in #8611)
📖 Documentation
- Docs(security): document fuzzing scorecard exception (@jkowall in #8637)
- Docs(adr): add adr-010 trace summary api for lightweight search results (@yurishkuro in #8602)
- Docs(security): document openssf hard evidence (@jkowall in #8585)
- Docs(security): add current security review evidence (@jkowall in #8584)
📊 UI Changes
⛔ Breaking Changes
- Feat: migrate search to /api/v3/trace-summaries (adr-010 phase 2b) (@yurishkuro in #3943)
✨ New Features
- Feat(search): add table view as alternative to list view in search results (@yurishkuro in #3980)
🐞 Bug fixes, Minor Improvements
- Feat(search): add reset button to clear the search form (@yurishkuro in #4009)
- Fix(search): support legacy lookback-only search urls (@yurishkuro in #4008)
- Fix(search): suppress trace summary columns unsupported by storage (@ghosthouse7 in #4007)
- Fix(search): keep trace comparison selection across searches (@parshipcy in #3968)
- Refactor(deps-graph): fold dev dataset sources into usedependenciesquery (@yurishkuro in #3993)
- Fix(deps-graph): tidy toolbar layout and clear stale visual issues (@yurishkuro in #3992)
- Feat(searchtracepage): resizable and collapsible search side panel (@swetalin-10 in #3984)
- Docs(tracking): add console analytics example and improve custom analytics docs (@yurishkuro in #3988)
- Feat(search): make default lookback configurable; reconstruct lookback from url timestamps (@yurishkuro in #3973)
- Refactor(ui): share time range options between search and monitor (@yurishkuro in #3978)
- Feat(search): add v3 trace-summaries api client and sort model (adr-010 phase 2b, part 1) (@yurishkuro in #3947)
- Refactor(dev): extract routes and timeframe utils, lazy-load secondary pages (@yurishkuro in #3946)
- Chore: bump tsconfig target from es2016 to es2020 (@yurishkuro in #3945)
- Fix(ui): delay empty-root error check to avoid flash with react 18 (@yurishkuro in #3942)
- Fix(ui): correct typos in accordionlinks class name and css punctuation key (@Pulkit7070 in #3905)
🚧 Experimental Features
- Feat(config): add ai.enabled flag (default false) for ai-assisted ui (@yurishkuro in #4003)
⚙️ Refactoring
- Refactor(ddg): convert node content to hooks (@sksingh2005 in #3948)
- Feat(state): migrate dependencies page to react query (adr-004 2d) (@parshipcy in #3991)
- Refactor(trace): convert timelineviewinglayer to hooks (@sksingh2005 in #3868)
- Refactor(search): complete phase 2c discovery query keys (@parshipcy in #3966)
- Feat(search): use /api/v3/trace-summaries for search results (@yurishkuro in #3964)
- Fix(search): replace singleton cache with keyed cache + eviction for trace search (@yurishkuro in #3961)
- Chore(api): regenerate v3 openapi client from latest idl (@yurishkuro in #3953)
- Refactor(trace): phase 2(a) - migrate single/multi trace load to react query (@parshipcy in #3835)
- Refactor(search): introduce tracesummary type for search results (@yurishkuro in #3941)