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