Elastic APM Go Agent release notes
Serverless Observability Stack APM Agent Go
Review the changes, fixes, and more in each version of Elastic APM Go Agent.
To check for security updates, go to Security announcements for the Elastic stack.
Release date: May 26, 2025
- Avoid sending invalid float values (NaN, Inf)
Release date: March 13, 2025
Release date: January 13, 2025
- Avoid panic when unwrapping errors
Release date: August 29, 2025
- Update version string
Release date: August 29, 2024
- Support all upstream GOOS #1646
- apm.DefaultTracer misbehaves when transport configuration is invalid by #1618
- gin web framework does not properly sanitize filename parameter of Context.FileAttachment function #1620
Release date: April 11, 2024
- Bump minimum Go version to 1.21 #1602
- module/apmotel: fix compatibility issue with newer version of otel libs. #1605
Release date: March 12, 2024
- module/apmgorm: Switch from
github.com/denisenkom/go-mssqldbpackage togithub.com/microsoft/go-mssqldb. #1569 - module/apmrestful: Upgrade
github.com/emicklei/go-restfulpackage togituhub.co/emicklei/go-restful/v3. #1580
Release date: March 12, 2024
- module/apmotel: Add nil and recording check to span.RecordError #1566
Release date: November 23, 2024
- Bump submodule dependency version #1546
Release date: November 22, 2023
- module/apmotel: Fix compatibility issue with newer version of otel #1544
Release date: October 11, 2023
- module/apmotel: Fix panic on multiple span close calls #1512
Release date: August 29, 2023
- module/apmotel: Bumped minimum OpenTelemetry version #1501
- module/apmotel: Return usable spans when retrieving them from otel.SpanFromContext #1478
- Fixed concurrent map write condition where some child spans couldn’t acquire the transaction lock #1487
Release date: June 22, 2023
- Fixed a data race in HTTP client instrumentation #1472
- Fixed mixing of OTel and Elastic APM instrumentation #1450
Release date: May 22, 2023
- module/apmotel: handle resources #1424
- Drop x/net dependency #1434
- module/apmotel: bump go.opentelemetry.io/otel/metric #1435
- module/apmotel: follow APM OTel spec and prefer delta temporality #1437
- module/apmotel: set the proper trace ID and span ID in trace context #1438
- module/apmotel: handle context flags when creating remote transactions and spans #1441
Release date: April 27, 2023
- Downgrade OpenTelemetry metrics from v1.15.0-rc.2 to 0.37.0 #1420
- Mark OpenTelemetry metrics as technical preview #1419
Release date: April 26, 2023
Release date: March 30, 2023
- Ensure minimum retry interval of 5 seconds for fetching central configuration #1337
- Update span compression logic to handle
service.target.*fields #1339 - module/apmchiv5: Add panic propogation option #1359
- module/apmgormv2: Add sqlserver support #1356
- module/apmsql: Add sqlserver support #1356
- Update compressed spans to use
service.target.*fields to derive its name #1336 - module/apmpgxv5: new instrumentation module for jackc/pgx v5 with enhanced support e.g. detailed
BATCHandCONNECTtraces #1364 - Add support for
Unwrap []error#1400
Release date: October 31, 2022
- Global labels are now parsed when the tracer is constructed, instead of parsing only once on package initialization #1290
- Rename span_frames_min_duration to span_stack_trace_min_duration #1285
- Ignore
\*principal\*headers by default #1332 - Add
apmpgxmodule for postgres tracing with jackc/pgx driver enhanced support e.g. Copy and Batch statements #1301 - Disable same-kind and enable exact-match compression by default #1256
- module/apmechov4: add
WithRequestNameoption #1268 - Added support for adding span links when starting transactions and spans #1269
- Added support for the
trace_continuation_strategy#1270 transaction.typeandspan.typeare now set to "custom" if an empty string is specified #1272- We now capture the database instance name in
service.target.*, for improved backend granularity #1279 - Improved Kubernetes pod UID and container ID discovery coverage #1288
- module/apmgin: add
WithPanicPropagationoption #1314 - Exit spans may now have non-exit child spans if they have the same type and subtype #1320
- Updated instrumentation modules to mark spans as exit spans where possible #1317
- module/apmawssdkgo: fixed a panic related to drop spans #1273
- Fixed
span.namefor AWS SNS spans to match the spec #1286
Release date: May 20, 2022
- Replace
authorizationwith*auth*pattern for sanitizing field names #1230 - Fetch initial server version async to prevent blocking NewTracer for 10 seconds #1239
- Fix race in
apm.DefaultTracerwhich could lead to multiple tracers being created #1248
Release date: March 17, 2022
- Record
transaction.nameon errors #1177 - Stop recording unused
transaction.duration.*andtransaction.breakdown.countmetrics #1167 - Make tracestate parsing more lenient, according to W3c spec, allowing duplicate vendor keys #1183
- Introduced
transport.NewHTTPTransportOptions#1168 - Change
ELASTIC_APM_SPAN_FRAMES_MIN_DURATIONspecial cases to match agent spec #1188 - Remove stacktrace.ContextSetter #1187
- Drop support for versions of Go prior to 1.15.0 #1190
- Replace apm.DefaultTracer with an initialization function #1189
- Remove transport.Default, construct a new Transport in each new tracer #1195
- Add service name and version to User-Agent header #1196
- Remove WarningLogger, add Warningf methe to Logger #1205
- Replace Sampler with ExtendedSampler #1206
- Drop unsampled txs when connected to an APM Server >= 8.0 #1208
- Removed SetTag #1218
- Unexport Tracer’s fields—TracerOptions must be used instead #1219
- Fix panic in apmgocql #1180