Skip to content

Releases: jaegertracing/jaeger

Release 1.19.1

26 Aug 22:31
16c3043
Compare
Choose a tag to compare

Revert UI back to 1.9 due to a bug jaegertracing/jaeger-ui#628

Release 1.19.0

26 Aug 15:13
7f43f14
Compare
Choose a tag to compare

Known Issues

The pull request #2297 aimed to add TLS support for the gRPC Query server but the flag registration is missing, so that this feature can't be used at the moment. A fix is planned for the next Jaeger version (1.20).

Backend Changes

New Features

Bug fixes, Minor Improvements

UI Changes

  • UI pinned to version 1.10.0. The changelog is available here v1.10.0

Release 1.18.1

19 Jun 09:31
126701a
Compare
Choose a tag to compare

Backend Changes

Security Fixes

New Features

Bug fixes, Minor Improvements

Relase 1.18.0

14 May 10:51
0fe3e75
Compare
Choose a tag to compare

Backend Changes

Breaking Changes

  • Remove Tchannel between agent and collector (#2115, #2112, @pavolloffay)

    Remove Tchannel port (14267) from collector and Tchannel reporter from agent.

    These flags were removed from agent:

    --collector.host-port
    --reporter.tchannel.discovery.conn-check-timeout
    --reporter.tchannel.discovery.min-peers
    --reporter.tchannel.host-port
    --reporter.tchannel.report-timeout
    

    These flags were removed from collector:

    --collector.port
    
  • Normalize CLI flags to use host:port addresses (#1827, @annanay25)

    Flags previously accepting listen addresses in any other format have been deprecated:

    • collector.port is superseded by collector.tchan-server.host-port
    • collector.http-port is superseded by collector.http-server.host-port
    • collector.grpc-port is superseded by collector.grpc-server.host-port
    • collector.zipkin.http-port is superseded by collector.zipkin.host-port
    • admin-http-port is superseded by admin.http.host-port

New Features

Bug fixes, Minor Improvements

UI Changes

  • UI pinned to version 1.9.0. The changelog is available here v1.9.0

Release 1.17.1

13 Mar 08:21
Compare
Choose a tag to compare

Backend Changes

Bug fixes, Minor Improvements

UI Changes

  • UI pinned to version 1.8.0. The changelog is available here v1.8.0

Release 1.17.0

24 Feb 18:32
Compare
Choose a tag to compare

Backend Changes

New Features

Bug fixes, Minor Improvements

UI Changes

  • UI pinned to version 1.7.0. The changelog is available here v1.7.0

Release 1.16.0

17 Dec 11:31
1c31578
Compare
Choose a tag to compare

Backend Changes

Breaking Changes

List of service operations can be classified by span kinds (#1943, #1942, #1937, @guo0693)
  • Endpoint changes:
    • Both Http & gRPC servers now take new optional parameter spanKind in addition to service. When spanKind
      is absent or empty, operations from all kinds of spans will be returned.
    • Instead of returning a list of string, both Http & gRPC servers return a list of operation struct. Please
      update your client code to process the new response. Example response:
      curl 'http://localhost:6686/api/operations?service=UserService&spanKind=server' | jq
      {
          "data": [{
              "name": "UserService::getExtendedUser",
              "spanKind": "server"
          },
          {
              "name": "UserService::getUserProfile",
              "spanKind": "server"
          }],
          "total": 2,
          "limit": 0,
          "offset": 0,
          "errors": null
      }
      
    • The legacy http endpoint stay untouched:
      /services/{%s}/operations
      
  • Storage plugin changes:
    • Memory updated to support spanKind on write & read, no migration is required.
    • Badger & ElasticSearch
      to be implemented:
      For now spanKind will be set as empty string during read & write, only name will be valid operation name.
    • Cassandra updated to support spanKind on write & read (#1937, @guo0693):
      If you don't run the migration script, nothing will break, the system will used the old table
      operation_names and set empty spanKind in the response.
      Steps to get the updated functionality:
      1. You will need to run below command on the host you can use cqlsh to connect the the cassandra contact
        point
        KEYSPACE=jaeger_v1 CQL_CMD='cqlsh host 9042 -u test_user -p test_password --request-timeout=3000' 
        bash ./v002tov003.sh
        
        The script will create new table operation_names_v2 and migrate data from the old table.
        spanKind column will be empty for those data.
        At the end, it will ask you whether you want to drop the old table or not.
      2. Restart ingester & query services so that they begin to use the new table
Trace and Span IDs are always padded to 32 or 16 hex characters with leading zeros (#1956, @yurishkuro)

Previously, Jaeger backend always rendered trace and span IDs as the shortest possible hex string, e.g. an ID
with numeric value 255 would be rendered as a string ff. This change makes the IDs to always render as 16 or 32
characters long hex string, e.g. the same id=255 would render as 00000000000000ff. It mostly affects how UI
displays the IDs, the URLs, and the JSON returned from jaeger-query service.

Motivation: Among randomly generated and uniformly distributed trace IDs, only 1/16th of them start with 0
followed by a significant digit, 1/256th start with two 0s, and so on in decreasing geometric progression.
Therefore, trimming the leading 0s is a very modest optimization on the size of the data being transmitted or stored.

However, trimming 0s leads to ambiguities when the IDs are used as correlations with other monitoring systems,
such as logging, that treat the IDs as opaque strings and cannot establish the equivalence between padded and
unpadded IDs. It is also incompatible with W3C Trace Context and Zipkin B3 formats, both of which include all
leading 0s, so an application instrumented with OpenTelemetry SDKs may be logging different trace ID strings
than application instrumented with Jaeger SDKs (related issue #1657).

Overall, the change is backward compatible:

  • links with non-padded IDs in the UI will still work
  • data stored in Elasticsearch (where IDs are represented as strings) is still readable

However, some custom integration that rely on exact string matches of trace IDs may be broken.

Change default rollover conditions to 2 days (#1963, @pavolloffay)

Change default rollover conditions from 7 days to 2 days.

Given that by default Jaeger uses daily indices and some organizations do not keep data longer than 7 days
the default of 7 days seems unreasonable - it might result in a too big index and
running curator would immediately remove the old index.

New Features

Bug fixes, Minor Improvements

UI Changes

  • UI pinned to version 1.6.0. The changelog is available here v1.6.0

Release 1.15.1

07 Nov 23:46
Compare
Choose a tag to compare
Bug fixes, Minor Improvements

Release 1.15.0

07 Nov 19:33
Compare
Choose a tag to compare

Backend Changes

Breaking Changes
  • The default value for the Ingester's flag ingester.deadlockInterval has been changed to 0 (#1868, @jpkrohling)

    With the new default, the ingester won't panic if there are no messages for the last minute. To restore the previous behavior, set the flag's value to 1m.

  • Mark --collector.grpc.tls.client.ca flag as deprecated for jaeger-collector. (#1840, @yurishkuro)

    The deprecated flag will still work, but will be removed removed in the future, it's recommended to use --collector.grpc.tls.client-ca instead.

New Features
Bug fixes, Minor Improvements

UI Changes

  • The changelog is available here v1.5.0

Release 1.14.0

02 Sep 15:24
fb55050
Compare
Choose a tag to compare

Backend Changes

Breaking Changes

  • Create ES index templates instead of indices (#1627, @pavolloffay)

    This can break existing Elasticsearch deployments if security policies are applied.
    For instance Jaeger X-Pack configuration now requires permission to create index templates - manage_index_templates.

New Features

  • Add Elasticsearch version configuration to rollover script (#1769, @pavolloffay)

  • Add Elasticsearch version flag (#1753, @pavolloffay)

  • Add Elasticsearch 7 support (#1690, @gregoryfranklin)

    The index mappings in Elasticsearch 7 are not backwards compatible with the older versions.
    Therefore using Elasticsearch 7 with data created with older version would not work.
    Elasticsearch 6.8 supports 7.x, 6.x, 5.x compatible mappings. The upgrade has to be done
    first to ES 6.8, then apply data migration or wait until old daily indices are removed (this requires
    to start Jaeger with --es.version=7 to force using ES 7.x mappings for newly created indices).

    Jaeger by default uses Elasticsearch ping endpoint (/) to derive the version which is used
    for index mappings selection. The version can be overridden by flag --es.version.

  • Support for Zipkin Protobuf spans over HTTP (#1695, @jan25)

  • Added support for hot reload of UI config (#1688, @jpkrohling)

  • Added base Grafana dashboard and Alert rules (#1745, @jpkrohling)

  • Add the jaeger-mixin for monitoring (#1668, @gouthamve)

  • Added flags for driving cassandra connection compression through config (#1675, @sagaranand015)

  • Support index cleaner for rollover indices and add integration tests (#1689, @pavolloffay)

  • Add client TLS auth to gRPC reporter (#1591, @tcolgate)

  • Collector kafka producer protocol version config (#1658, @marqc)

  • Configurable kafka protocol version for msg consuming by jaeger ingester (#1640, @marqc)

  • Use credentials when describing keyspaces in cassandra schema builder (#1655, @MiLk)

  • Add connect-timeout for Cassandra (#1647, @sagaranand015)

Bug fixes, Minor Improvements

UI Changes

  • UI pinned to version 1.4.0. The changelog is available here v1.4.0