v1.0.0
Major changes
The Go agent is now generally available. This version requires APM Server v6.5 or later.
- The canonical import path is now "go.elastic.co/apm", and top-level package name is "apm" (#202)
- The v2 intake protocol is now being used, and support for distributed tracing added (#180)
- We've added support for multiple APM Server URLs with failover (#233)
- All HTTP request/response headers are now reported, with configurable filtering (#280)
- ELASTIC_APM_LOG_FILE and ELASTIC_APM_LOG_LEVEL introduced for logging agent behaviour (#313)
- We've added support for mixing OpenTracing spans with native transactions/spans (#235)
New instrumentation modules
- module/apmredigo: introduce gomodule/redigo instrumentation (#248)
- module/apmrestful: introduce emicklei/go-restful instrumentation (#270)
Other changes
- Unexported Transaction.Timestamp and Span.Timestamp (#207)
- Dropped Context.SetCustom (#284)
- Add support for span tags (#213)
- Add jitter (+/-10%) to backoff on transport error (#212)
- Require units for size configuration (#223)
- Require units for duration configuration (#211)
- Drop SetHTTPResponseHeadersSent and SetHTTPResponseFinished methods from Context (#238)
- Stop setting custom context (gin.handler) in apmgin (#238)
- Set response context in errors reported by web modules (#238)
- Update Sampler interface to take TraceContext (#243)
- Truncate SQL statements to a maximum of 10000 chars, all other strings to 1024 (#244, #276)
- Add leading slash to URLs in transaction/span context (#250)
- Add Transaction.Context method for setting framework (#252)
- Timestamps are now reported as usec since epoch, spans no longer use "start" offset (#257)
- Fix panic handling in web instrumentations (#273)
- Migrate internal/fastjson to go.elastic.co/fastjson (#275)
- Reuse memory for tags (#286)
- Return a more helpful error message when /intake/v2/events 404s, to detect old servers (#290)
- Implement test service for w3c/distributed-tracing test harness (#293)
- End HTTP client spans on response body closure (#289)
- module/apmgrpc requires Go 1.9+ (#300)
- Invalid tag key characters are replaced with underscores (#308)
- ELASTIC_APM_SANITIZE_FIELD_NAMES and ELASTIC_APM_IGNORE_URLS now use wildcard matching (#260)