1Changes by Version 2================== 3 42.28.0 (2021-04-30) 5------------------- 6- HTTPSamplingStrategyFetcher: Use http client with 10 second timeout (#578) -- Joe Elliott 7 8 92.27.0 (2021-04-19) 10------------------- 11- Don't override HTTP Reporter batch size to 1; default to 100, user can override (#571) -- R. Aidan Campbell 12 13 142.26.0 (2021-04-16) 15------------------- 16- Delete a baggage item when value is blank (#562) -- evan.kim 17- Trim baggage key when parsing (#566) -- sicong.huang 18- feat: extend configuration to support custom randomNumber func (#555) -- NemoO_o 19- Support JAEGER_TRACEID_128BIT env var (#547) -- Yuri Shkuro 20- Additional context protections (#544) -- Joe Elliott 21- Lock RemotelyControlledSampler.sampler on callbacks (#543) -- Dima 22- Upgrade build to Go 1.15 (#539) -- Yuri Shkuro 23- Upgrade to jaeger-lib@2.3.0 to fix broken codahale/hdrhistogram dependency (#537) -- Yuri Shkuro 24- Prefix TraceID/SpanID.String() with zeroes (#533) -- Lukas Vogel 25- Upgrade to OpenTracing Go 1.2 (#525) -- Yuri Shkuro 26 27 282.25.0 (2020-07-13) 29------------------- 30## Breaking changes 31- [feat] Periodically re-resolve UDP server address, with opt-out (#520) -- Trevor Foster 32 33 The re-resolving of UDP address is now enabled by default, to make the client more robust in Kubernetes deployments. 34 The old resolve-once behavior can be restored by setting DisableAttemptReconnecting=true in the Configuration struct, 35 or via JAEGER_REPORTER_ATTEMPT_RECONNECTING_DISABLED=true environment variable. 36 37## Bug fixes 38- Do not add invalid context to references (#521) -- Yuri Shkuro 39 40 412.24.0 (2020-06-14) 42------------------- 43- Mention FromEnv() in the README, docs, and examples (#518) -- Martin Lercher 44- Serialize access to RemotelyControlledSampler.sampler (#515) -- Dima 45- Override reporter config only when agent host/port is set in env (#513) -- ilylia 46- Converge on JAEGER_SAMPLING_ENDPOINT env variable (#511) -- Eundoo Song 47 48 492.23.1 (2020-04-28) 50------------------- 51- Fix regression by handling nil logger correctly ([#507](https://github.com/jaegertracing/jaeger-client-go/pull/507)) -- Prithvi Raj 52 53 542.23.0 (2020-04-22) 55------------------- 56 57- Add the ability to log all span interactions at a new debug log level([#502](https://github.com/jaegertracing/jaeger-client-go/pull/502), [#503](https://github.com/jaegertracing/jaeger-client-go/pull/503), [#504](https://github.com/jaegertracing/jaeger-client-go/pull/504)) -- Prithvi Raj 58- Chore (docs): fix typos ([#496](https://github.com/jaegertracing/jaeger-client-go/pull/496), [#498](https://github.com/jaegertracing/jaeger-client-go/pull/498)) -- Febrian Setianto and Ivan Babrou 59- Unset highest bit of traceID in probabilistic sampler ([#490](https://github.com/jaegertracing/jaeger-client-go/pull/490)) -- Sokolov Yura 60 612.22.1 (2020-01-16) 62------------------- 63 64- Increase UDP batch overhead to account for data loss metrics ([#488](https://github.com/jaegertracing/jaeger-client-go/pull/488)) -- Yuri Shkuro 65 66 672.22.0 (2020-01-15) 68------------------- 69 70- Report data loss stats to Jaeger backend ([#482](https://github.com/jaegertracing/jaeger-client-go/pull/482)) -- Yuri Shkuro 71- Add limit on log records per span ([#483](https://github.com/jaegertracing/jaeger-client-go/pull/483)) -- Sokolov Yura 72 73 742.21.1 (2019-12-20) 75------------------- 76 77- Update version correctly. 78 79 802.21.0 (2019-12-20) 81------------------- 82 83- Clarify reporting error logs ([#469](https://github.com/jaegertracing/jaeger-client-go/pull/469)) -- Yuri Shkuro 84- Do not strip leading zeros from trace IDs ([#472](https://github.com/jaegertracing/jaeger-client-go/pull/472)) -- Yuri Shkuro 85- Chore (docs): fixed a couple of typos ([#475](https://github.com/jaegertracing/jaeger-client-go/pull/475)) -- Marc Bramaud 86- Support custom HTTP headers when reporting spans over HTTP ([#479](https://github.com/jaegertracing/jaeger-client-go/pull/479)) -- Albert Teoh 87 88 892.20.1 (2019-11-08) 90------------------- 91 92Minor patch via https://github.com/jaegertracing/jaeger-client-go/pull/468 93 94- Make `AdaptiveSamplerUpdater` usable with default values; Resolves #467 95- Create `OperationNameLateBinding` sampler option and config option 96- Make `SamplerOptions` var of public type, so that its functions are discoverable via godoc 97 98 992.20.0 (2019-11-06) 100------------------- 101 102## New Features 103 104- Allow all in-process spans of a trace to share sampling state (#443) -- Prithvi Raj 105 106 Sampling state is shared between all spans of the trace that are still in memory. 107 This allows implementation of delayed sampling decisions (see below). 108 109- Support delayed sampling decisions (#449) -- Yuri Shkuro 110 111 This is a large structural change to how the samplers work. 112 It allows some samplers to be executed multiple times on different 113 span events (like setting a tag) and make a positive sampling decision 114 later in the span life cycle, or even based on children spans. 115 See [README](./README.md#delayed-sampling) for more details. 116 117 There is a related minor change in behavior of the adaptive (per-operation) sampler, 118 which will no longer re-sample the trace when `span.SetOperation()` is called, i.e. the 119 operation used to make the sampling decision is always the one provided at span creation. 120 121- Add experimental tag matching sampler (#452) -- Yuri Shkuro 122 123 A sampler that can sample a trace based on a certain tag added to the root 124 span or one of its local (in-process) children. The sampler can be used with 125 another experimental `PrioritySampler` that allows multiple samplers to try 126 to make a sampling decision, in a certain priority order. 127 128- [log/zap] Report whether a trace was sampled (#445) -- Abhinav Gupta 129- Allow config.FromEnv() to enrich an existing config object (#436) -- Vineeth Reddy 130 131## Minor patches 132 133- Expose Sampler on Tracer and accept sampler options via Configuration (#460) -- Yuri Shkuro 134- Fix github.com/uber-go/atomic import (#464) -- Yuri Shkuro 135- Add nodejs to crossdock tests (#441) -- Bhavin Gandhi 136- Bump Go compiler version to 1.13 (#453) -- Yuri Shkuro 137 1382.19.0 (2019-09-23) 139------------------- 140 141- Upgrade jaeger-lib to 2.2 and unpin Prom client (#434) -- Yuri Shkuro 142 143 1442.18.1 (2019-09-16) 145------------------- 146 147- Remove go.mod / go.sum that interfere with `go get` (#432) 148 149 1502.18.0 (2019-09-09) 151------------------- 152 153- Add option "noDebugFlagOnForcedSampling" for tracer initialization [resolves #422] (#423) <Jun Guo> 154 155 1562.17.0 (2019-08-30) 157------------------- 158 159- Add a flag for firehose mode (#419) <Prithvi Raj> 160- Default sampling server URL to agent (#414) <Bryan Boreham> 161- Update default sampling rate when sampling strategy is refreshed (#413) <Bryan Boreham> 162- Support "Self" Span Reference (#411) <dm03514> 163- Don't complain about blank service name if tracing is Disabled (#410) Yuri <Shkuro> 164- Use IP address from tag if exist (#402) <NikoKVCS> 165- Expose span data to custom reporters [fixes #394] (#399) <Curtis Allen> 166- Fix the span allocation in the pool (#381) <Dmitry Ponomarev> 167 168 1692.16.0 (2019-03-24) 170------------------- 171 172- Add baggage to B3 codec (#319) <Pavol Loffay> 173- Add support for 128bit trace ids to zipkin thrift spans. (#378) <Douglas Reid> 174- Update zipkin propagation logic to support 128bit traceIDs (#373) <Douglas Reid> 175- Accept "true" for the x-b3-sampled header (#356) <Adrian Bogatu> 176 177- Allow setting of PoolSpans from Config object (#322) <Matthew Pound> 178- Make propagators public to allow wrapping (#379) <Ivan Babrou> 179- Change default metric namespace to use relevant separator for the metric backend (#364) <Gary Brown> 180- Change metrics prefix to jaeger_tracer and add descriptions (#346) <Gary Brown> 181- Bump OpenTracing to ^1.1.x (#383) <Yuri Shkuro> 182- Upgrade jaeger-lib to v2.0.0 (#359) <Gary Brown> 183- Avoid defer when generating random number (#358) <Gary Brown> 184- Use a pool of rand.Source to reduce lock contention when creating span ids (#357) <Gary Brown> 185- Make JAEGER_ENDPOINT take priority over JAEGER_AGENT_XXX (#342) <Eundoo Song> 186 187 1882.15.0 (2018-10-10) 189------------------- 190 191- Fix FollowsFrom spans ignoring baggage/debug header from dummy parent context (#313) <Zvi Cahana> 192- Make maximum annotation length configurable in tracer options (#318) <Eric Chang> 193- Support more environment variables in configuration (#323) <Daneyon Hansen> 194- Print error on Sampler Query failure (#328) <Goutham Veeramachaneni> 195- Add an HTTPOption to support custom http.RoundTripper (#333) <Michael Puncel> 196- Return an error when an HTTP error code is seen in zipkin HTTP transport (#331) <Michael Puncel> 197 198 1992.14.0 (2018-04-30) 200------------------- 201 202- Support throttling for debug traces (#274) <Isaac Hier> 203- Remove dependency on Apache Thrift (#303) <Yuri Shkuro> 204- Remove dependency on tchannel (#295) (#294) <Yuri Shkuro> 205- Test with Go 1.9 (#298) <Yuri Shkuro> 206 207 2082.13.0 (2018-04-15) 209------------------- 210 211- Use value receiver for config.NewTracer() (#283) <Yuri Shkuro> 212- Lock span during jaeger thrift conversion (#273) <Won Jun Jang> 213- Fix the RemotelyControlledSampler so that it terminates go-routine on Close() (#260) <Scott Kidder> <Yuri Shkuro> 214- Added support for client configuration via env vars (#275) <Juraci Paixão Kröhling> 215- Allow overriding sampler in the Config (#270) <Mike Kabischev> 216 217 2182.12.0 (2018-03-14) 219------------------- 220 221- Use lock when retrieving span.Context() (#268) 222- Add Configuration support for custom Injector and Extractor (#263) <Martin Liu> 223 224 2252.11.2 (2018-01-12) 226------------------- 227 228- Add Gopkg.toml to allow using the lib with `dep` 229 230 2312.11.1 (2018-01-03) 232------------------- 233 234- Do not enqueue spans after Reporter is closed (#235, #245) 235- Change default flush interval to 1sec (#243) 236 237 2382.11.0 (2017-11-27) 239------------------- 240 241- Normalize metric names and tags to be compatible with Prometheus (#222) 242 243 2442.10.0 (2017-11-14) 245------------------- 246 247- Support custom tracing headers (#176) 248- Add BaggageRestrictionManager (#178) and RemoteBaggageRestrictionManager (#182) 249- Do not coerce baggage keys to lower case (#196) 250- Log span name when span cannot be reported (#198) 251- Add option to enable gen128Bit for tracer (#193) and allow custom generator for high bits of trace ID (#219) 252 253 2542.9.0 (2017-07-29) 255------------------ 256 257- Pin thrift <= 0.10 (#179) 258- Introduce a parallel interface ContribObserver (#159) 259 260 2612.8.0 (2017-07-05) 262------------------ 263 264- Drop `jaeger.` prefix from `jaeger.hostname` process-level tag 265- Add options to set tracer tags 266 267 2682.7.0 (2017-06-21) 269------------------ 270 271- Fix rate limiter balance [#135](https://github.com/uber/jaeger-client-go/pull/135) [#140](https://github.com/uber/jaeger-client-go/pull/140) 272- Default client to send Jaeger.thrift [#147](https://github.com/uber/jaeger-client-go/pull/147) 273- Save baggage in span [#153](https://github.com/uber/jaeger-client-go/pull/153) 274- Move reporter.queueLength to the top of the struct to guarantee 64bit alignment [#158](https://github.com/uber/jaeger-client-go/pull/158) 275- Support HTTP transport with jaeger.thrift [#161](https://github.com/uber/jaeger-client-go/pull/161) 276 277 2782.6.0 (2017-03-28) 279------------------ 280 281- Add config option to initialize RPC Metrics feature 282 283 2842.5.0 (2017-03-23) 285------------------ 286 287- Split request latency metric by success/failure [#123](https://github.com/uber/jaeger-client-go/pull/123) 288- Add mutex to adaptive sampler and fix race condition [#124](https://github.com/uber/jaeger-client-go/pull/124) 289- Fix rate limiter panic [#125](https://github.com/uber/jaeger-client-go/pull/125) 290 291 2922.4.0 (2017-03-21) 293------------------ 294 295- Remove `_ms` suffix from request latency metric name [#121](https://github.com/uber/jaeger-client-go/pull/121) 296- Rename all metrics to "request" and "http_request" and use tags for other dimensions [#121](https://github.com/uber/jaeger-client-go/pull/121) 297 298 2992.3.0 (2017-03-20) 300------------------ 301 302- Make Span type public to allow access to non-std methods for testing [#117](https://github.com/uber/jaeger-client-go/pull/117) 303- Add a structured way to extract traces for logging with zap [#118](https://github.com/uber/jaeger-client-go/pull/118) 304 305 3062.2.1 (2017-03-14) 307------------------ 308 309- Fix panic caused by updating the remote sampler from adaptive sampler to any other sampler type (https://github.com/uber/jaeger-client-go/pull/111) 310 311 3122.2.0 (2017-03-10) 313------------------ 314 315- Introduce Observer and SpanObserver (https://github.com/uber/jaeger-client-go/pull/94) 316- Add RPC metrics emitter as Observer/SpanObserver (https://github.com/uber/jaeger-client-go/pull/103) 317 318 3192.1.2 (2017-02-27) 320------------------- 321 322- Fix leaky bucket bug (https://github.com/uber/jaeger-client-go/pull/99) 323- Fix zap logger Infof (https://github.com/uber/jaeger-client-go/pull/100) 324- Add tracer initialization godoc examples 325 326 3272.1.1 (2017-02-21) 328------------------- 329 330- Fix inefficient usage of zap.Logger 331 332 3332.1.0 (2017-02-17) 334------------------- 335 336- Add adapter for zap.Logger (https://github.com/uber-go/zap) 337- Move logging API to ./log/ package 338 339 3402.0.0 (2017-02-08) 341------------------- 342 343- Support Adaptive Sampling 344- Support 128bit Trace IDs 345- Change trace/span IDs from uint64 to strong types TraceID and SpanID 346- Add Zipkin HTTP B3 Propagation format support #72 347- Rip out existing metrics and use github.com/uber/jaeger-lib/metrics 348- Change API for tracer, reporter, sampler initialization 349 350 3511.6.0 (2016-10-14) 352------------------- 353 354- Add Zipkin HTTP transport 355- Support external baggage via jaeger-baggage header 356- Unpin Thrift version, keep to master 357 358 3591.5.1 (2016-09-27) 360------------------- 361 362- Relax dependency on opentracing to ^1 363 364 3651.5.0 (2016-09-27) 366------------------- 367 368- Upgrade to opentracing-go 1.0 369- Support KV logging for Spans 370 371 3721.4.0 (2016-09-14) 373------------------- 374 375- Support debug traces via HTTP header "jaeger-debug-id" 376