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