Breaking Changes

edit

This section describes the breaking changes and deprecations introduced in this release and previous minor versions.

8.11
edit

The following breaking changes are introduced in APM version 8.11.0:

  • The ecs.version field has been removed from APM data streams. This change should not impact most users as this field is not used by the APM UI. For more details, see PR #11632
8.10
edit

The following breaking changes are introduced in APM version 8.10.0:

  • Aggregated metrics now consider global labels to be part of a service’s identity, and high cardinality global labels may cause services to be obscured. For more details, see PR #11386.
  • Event protobuf encoding for tail-based sampling changed to a more efficient encoding for event timestamp and duration For more details, see PR #11386.
8.7
edit

The following breaking changes and deprecations are introduced in APM version 8.7.0:

  • transaction.failure_count has been removed. transaction.success_count type has changed to aggregated_metric_double. For more details, see PR #9791.
  • transaction.success_count has been moved to event.success_count. For more details, see PR #9819.
  • Stopped indexing transaction metrics to metrics-apm.internal. For more details, see PR #9846.
  • Stopped indexing span destination metrics to metrics-apm.internal. For more details, see PR #9926.
  • apmserver.aggregation.txmetrics.overflowed metric has been renamed to apmserver.aggregation.txmetrics.overflowed.total. For more details, see PR #10330.
  • Elasticsearch source mapping credentials now require access to the .apm-source-map index. For more details, see PR #9722.
  • Changed APM Server default host to 127.0.0.1. For more details, see PR #9877.
8.6
edit

The following breaking changes and deprecations are introduced in APM version 8.6.0:

apm-server.decoder.* no longer recorded
edit

The stack monitoring metrics, apm-server.decoder.*, are no longer recorded. These metrics were not used by stack monitoring, so there should be no noticeable change.

For more details, see PR #9210.

context.http.response.*_size fields now enforce integer values
edit

New field mappings enforce integer values for context.http.response.*_size. The fields are mapped with index: false to minimize storage overhead.

For more details, see PR #9429.

observer.id and observer.ephemeral_id removed
edit

observer.id and observer.ephemeral_id are no longer added to APM documents. The APM UI does not currently rely on these field, so there should be no noticeable change.

For more details, see PR #9412.

timeseries.instance removed
edit

timeseries.instance has been removed from transaction metrics docs. The APM UI did not use this field, so there should be no noticeable change.

For more details, see PR #9565.

8.2
edit

The following breaking changes are introduced in APM version 8.2.0:

APM Server now emits events with event.duration
edit

APM Server no longer emits events with a transaction.duration.us or span.duration.us. Instead, events are emitted with an event.duration. An ingest pipeline sets the legacy <event>.duration.us field and removes the event.duration.

This change will impact users who are not using APM Server’s Elasticsearch output or the packaged ingest pipeline. For details, see PR #7261.

Removed observer.version_major
edit

The field observer.version_major is non-standard and existed only for the APM UI to filter out legacy docs (versions <7.0). This check is no longer performed, so the field has been removed.

For details, see PR #7399.

APM Server no longer ships with System V init scripts or the go-daemon wrapper
edit

As of version 8.1.0, all Linux distributions supported by APM Server support systemd. As a result, APM Server no longer ships with System V init scripts or the go-daemon wrapper; use systemd instead.

For details, see PR #7576.

Deprecated 32-bit architectures
edit

APM Server support for 32-bit architectures has been deprecated and will be removed in a future release.

8.1
edit

There are no breaking changes in APM.

8.0
edit

The following breaking changes are introduced in APM version 8.0.

Indices are now manged by Fleet
edit

All index management has been removed from APM Server; Fleet is now entirely responsible for setting up index templates, index lifecycle polices, and index pipelines.

As a part of this change, the following settings have been removed:

  • apm-server.ilm.*
  • apm-server.register.ingest.pipeline.*
  • setup.*
Data streams by default
edit

APM Server now only writes to well-defined data streams; writing to classic indices is no longer supported.

As a part of this change, the following settings have been removed:

  • apm-server.data_streams.enabled
  • output.elasticsearch.index
  • output.elasticsearch.indices
  • output.elasticsearch.pipeline
  • output.elasticsearch.pipelines
New Elasticsearch output
edit

APM Server has a new Elasticsearch output implementation; it is no longer necessary to manually tune the output of APM Server.

As a part of this change, the following settings have been removed:

  • output.elasticsearch.bulk_max_size
  • output.elasticsearch.worker
  • queue.*
New source map upload endpoint
edit

The source map upload endpoint has been removed from APM Server. Source maps should now be uploaded directly to Kibana instead.

Legacy Jaeger endpoints have been removed
edit

The legacy Jaeger gRPC and HTTP endpoints have been removed from APM Server.

As a part of this change, the following settings have been removed:

  • apm-server.jaeger
Homebrew no longer supported
edit

APM Server no longer supports installation via Homebrew.

All removed and changed settings
edit

Below is a list of all removed settings (in alphabetical order) for users upgrading a standalone APM Server to Elastic Stack version 8.0.

apm-server.data_streams.enabled
apm-server.ilm.*
apm-server.jaeger
apm-server.register.ingest.pipeline.*
apm-server.sampling.keep_unsampled
output.elasticsearch.bulk_max_size
output.elasticsearch.index
output.elasticsearch.indices
output.elasticsearch.pipeline
output.elasticsearch.pipelines
output.elasticsearch.worker
queue.*
setup.*

Below is a list of renamed settings (in alphabetical order) for users upgrading a standalone APM Server to Elastic Stack version 8.0.

previous setting                --> new setting

apm-server.api_key              --> apm-server.auth.api_key
apm-server.instrumentation      --> instrumentation
apm-server.rum.allowed_service  --> apm-server.auth.anonymous.allow_service
apm-server.rum.event_rate       --> apm-server.auth.anonymous.rate_limit
apm-server.secret_token         --> apm-server.auth.secret_token
Supported Elastic Cloud settings
edit

Below is a list of all supported settings (in alphabetical order) for users upgrading an Elastic Cloud standalone cluster to Elastic Stack version 8.0. Any previously supported settings not listed below will be removed when upgrading.

apm-server.agent.config.cache.expiration
apm-server.aggregation.transactions.*
apm-server.auth.anonymous.allow_agent
apm-server.auth.anonymous.allow_service
apm-server.auth.anonymous.rate_limit.event_limit
apm-server.auth.anonymous.rate_limit.ip_limit
apm-server.auth.api_key.enabled
apm-server.auth.api_key.limit
apm-server.capture_personal_data
apm-server.default_service_environment
apm-server.max_event_size
apm-server.rum.allow_headers
apm-server.rum.allow_origins
apm-server.rum.enabled
apm-server.rum.exclude_from_grouping
apm-server.rum.library_pattern
apm-server.rum.source_mapping.enabled
apm-server.rum.source_mapping.cache.expiration
logging.level
logging.selectors
logging.metrics.enabled
logging.metrics.period
max_procs
output.elasticsearch.flush_bytes
output.elasticsearch.flush_interval