Loading

Elastic APM Go Agent release notes

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: 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-mssqldb package to github.com/microsoft/go-mssqldb. #1569
  • module/apmrestful: Upgrade github.com/emicklei/go-restful package to gituhub.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

  • Bumped minimum Go version to 1.19 #1453
  • Updated to stable OTel metrics API #1448
  • 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

  • Add bridge to support OpenTelemetry metrics #1407
  • Add custom SDK support OpenTelemetry traces #1410

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 BATCH and CONNECT traces #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 apmpgx module 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 WithRequestName option #1268
  • Added support for adding span links when starting transactions and spans #1269
  • Added support for the trace_continuation_strategy #1270
  • transaction.type and span.type are 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 WithPanicPropagation option #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.name for AWS SNS spans to match the spec #1286

Release date: May 20, 2022

  • Replace authorization with *auth* pattern for sanitizing field names #1230
  • Fetch initial server version async to prevent blocking NewTracer for 10 seconds #1239
  • Fix race in apm.DefaultTracer which could lead to multiple tracers being created #1248

Release date: March 17, 2022

  • Record transaction.name on errors #1177
  • Stop recording unused transaction.duration.* and transaction.breakdown.count metrics #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_DURATION special 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