Skip to content

Releases: open-telemetry/opentelemetry-collector

v1.35.0/v0.129.0

30 Jun 12:45
v0.129.0
8c7e0b7
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.129.0

End User Changelog

πŸ›‘ Breaking changes πŸ›‘

  • exporterhelper: Remove deprecated sending_queue::blocking options, use sending_queue::block_on_overflow. (#13211)

πŸ’‘ Enhancements πŸ’‘

  • mdatagen: Taught mdatagen to print the go list stderr output on failures, and to run go list where the metadata file is. (#13205)

  • service: Support setting sampler and limits under service::telemetry::traces (#13201)
    This allows users to enable sampling and set span limits on internal Collector traces using the
    OpenTelemetry SDK declarative configuration.

  • pdata/pprofile: Add new helper methods FromLocationIndices and PutLocation to read and modify the content of locations. (#13150)

  • exporterhelper: Preserve request span context and client information in the persistent queue. (#11740, #13220, #13232)
    It allows internal collector spans and client information to propagate through the persistent queue used by
    the exporters. The same way as it's done for the in-memory queue.
    Currently, it is behind the exporter.PersistRequestContext feature gate, which can be enabled by adding
    --feature-gates=exporter.PersistRequestContext to the collector command line. An exporter buffer stored by
    a previous version of the collector (or by a collector with the feature gate disabled) can be read by a newer
    collector with the feature enabled. However, the reverse is not supported: a buffer stored by a newer collector with
    the feature enabled cannot be read by an older collector (or by a collector with the feature gate disabled).

🧰 Bug fixes 🧰

  • pdata: Fix copying of optional fields when the source is unset. (#13268)
  • service: Only allocate one set of internal log sampling counters (#13014)
    The case where logs are only exported to stdout was fixed in v0.126.0;
    this new fix also covers the case where logs are exported through OTLP.

API Changelog

πŸ›‘ Breaking changes πŸ›‘

  • semconv: Removing deprecated semconv package (#13071)
  • configgrpc,confighttp: Unify return type of NewDefault*Config functions to return a struct instead of a pointer. (#13169)
  • exporterhelper: QueueBatchEncoding interface is changed to support marshaling and unmarshaling of request context. (#13188)

πŸ’‘ Enhancements πŸ’‘

  • pdata/pprofile: Introduce Equal method on the Mapping type (#13197)
  • configoptional: Make unmarshaling into None[T] work the same as unmarshaling into (*T)(nil). (#13168)
  • configoptional: Add a confmap.Marshaler implementation for configoptional.Optional (#13196)
  • pdata/pprofile: Introduce Equal methods on the Line and Location types (#13150)
  • pdata/pprofile: Add new helper method SetMapping to set a new mapping on a location. (#13197)

🧰 Bug fixes 🧰

  • confmap: Distinguish between empty and nil values when marshaling confmap.Conf structs. (#13196)

v1.34.0/v0.128.0

09 Jun 16:39
v0.128.0
ab80fb4
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.128.0

End User Changelog

πŸ›‘ Breaking changes πŸ›‘

  • service/telemetry: Mark "telemetry.disableAddressFieldForInternalTelemetry" as stable (#13152)

πŸ’‘ Enhancements πŸ’‘

  • confighttp: Update the HTTP server span naming to use the HTTP method and route pattern instead of the path. (#12468)
    The HTTP server span name will now be formatted as <http.request.method> <http.route>.
    If a route pattern is not available, it will fall back to <http.request.method>.

  • service: Use configured loggers to log errors as soon as it is available (#13081)

  • service: Remove stabilized featuregate useOtelWithSDKConfigurationForInternalTelemetry (#13152)

🧰 Bug fixes 🧰

  • telemetry: Add generated resource attributes to the printed log messages. (#13110)
    If service.name, service.version, or service.instance.id are not specified in the config, they will be generated automatically.
    This change ensures that these attributes are also included in the printed log messages.

  • mdatagen: Fix generation when there are no events in the metadata. (#13123)

  • confmap: Do not panic on assigning nil maps to non-nil maps (#13117)

  • pdata: Fix event_name skipped when unmarshalling LogRecord from JSON (#13127)

API Changelog

πŸ›‘ Breaking changes πŸ›‘

  • exporterhelper: Remove deprecated NewProfilesRequestExporter function from xexporterhelper package (#13157)
  • confighttp: Remove pointer to field cookies in confighttp.ClientConfig (#13116)
  • otlpreceiver: Use configoptional.Optional to define optional configuration sections in the OTLP receiver. Remove Unmarshal method. (#13119)
  • confighttp,configgrpc: Rename ClientConfig.TLSSetting and ServerConfig.TLSSetting to ClientConfig.TLS and ServerConfig.TLS. (#13115)
  • pdata/pprofile: Upgrade the OTLP protobuf definitions to version 1.7.0 (#13075)
    Note that the batcher is temporarily a noop.
  • pipeline: Remove deprecated MustNewID[WithName] (#13139)

πŸš€ New components πŸš€

  • configoptional: Add a new configoptional module to support optional configuration fields. (#12981)

πŸ’‘ Enhancements πŸ’‘

  • pdata: Introduce MoveAndAppendTo methods to the generated primitive slices (#13074)
  • pdata: Upgrade the OTLP protobuf definitions to version 1.7.0 (#13075)

🧰 Bug fixes 🧰

  • confmap: Correctly distinguish between nil and empty map values on the ToStringMap method (#13161)
    This means that ToStringMap() method can now return a nil map if the original value was nil.
    If you were not doing so already, make sure to check for nil before writing to the map to avoid panics.

  • confighttp: Make the NewDefaultServerConfig function return a nil TLS config by default. (#13129)

    • The previous default was a TLS config with no certificates, which would fail at runtime.

v1.33.0/v0.127.0

26 May 20:23
v0.127.0
2353b75
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.127.0

End User Changelog

🚩 Deprecations 🚩

  • semconv: Deprecating the semconv package in favour of go.opentelemetry.io/otel/semconv (#13012)

πŸ’‘ Enhancements πŸ’‘

  • exporter/debug: Display resource and scope in normal verbosity (#10515)
  • service: Add size metrics defined in Pipeline Component Telemetry RFC (#13032)
    See Pipeline Component Telemetry RFC for more details:
    • otelcol.receiver.produced.size
    • otelcol.processor.consumed.size
    • otelcol.processor.produced.size
    • otelcol.connector.consumed.size
    • otelcol.connector.produced.size
    • otelcol.exporter.consumed.size

API Changelog

πŸ›‘ Breaking changes πŸ›‘

  • mdatagen: Add context parameter for recording event to set traceID and spanID (#12571)
  • otlpreceiver: Use wrapper type for URL paths (#13046)

🚩 Deprecations 🚩

  • pipeline: Deprecate MustNewID and MustNewIDWithName (#12831)
  • pdata/profile: Replace AddAttribute with the PutAttribute helper method to modify the content of attributable records. (#12798)

πŸ’‘ Enhancements πŸ’‘

  • consumer/consumertest: Add context to sinks (#13039)
  • cmd/mdatagen: Add events in generated documentation (#12571)
  • confmap: Add a Conf.Delete method to remove a path from the configuration map. (#13064)
  • confmap: Support running Unmarshal hooks on nil values. (#12981)

v1.32.0/v0.126.0

13 May 05:29
v0.126.0
c2431f0
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.126.0

End User Changelog

πŸ›‘ Breaking changes πŸ›‘

  • configauth: Removes deprecated configauth.Authentication and extensionauthtest.NewErrorClient (#12992)
    The following have been removed:
    • configauth.Authentication use configauth.Config instead
    • extensionauthtest.NewErrorClient use extensionauthtest.NewErr instead

πŸ’‘ Enhancements πŸ’‘

  • service: Replace go.opentelemetry.io/collector/semconv usage with go.opentelemetry.io/otel/semconv (#12991)

  • confmap: Update the behavior of the confmap.enableMergeAppendOption feature gate to merge only component lists. (#12926)

  • service: Add item count metrics defined in Pipeline Component Telemetry RFC (#12812)
    See Pipeline Component Telemetry RFC for more details:

    • otelcol.receiver.produced.items
    • otelcol.processor.consumed.items
    • otelcol.processor.produced.items
    • otelcol.connector.consumed.items
    • otelcol.connector.produced.items
    • otelcol.exporter.consumed.items
  • tls: Add trusted platform module (TPM) support to TLS authentication. (#12801)
    Now the TLS allows the use of TPM for loading private keys (e.g. in TSS2 format).

🧰 Bug fixes 🧰

  • exporterhelper: Add validation error for batch config if min_size is greater than queue_size. (#12948)

  • telemetry: Allocate less memory per component when OTLP exporting of logs is disabled (#13014)

  • confmap: Use reflect.DeepEqual to avoid panic when confmap.enableMergeAppendOption feature gate is enabled. (#12932)

  • internal telemetry: Add resource attributes from telemetry.resource to the logger (#12582)
    Resource attributes from telemetry.resource were not added to the internal
    console logs.

    Now, they are added to the logger as part of the "resource" field.

  • confighttp and configcompression: Fix handling of snappy content-encoding in a backwards-compatible way (#10584, #12825)
    The collector used the Snappy compression type of "framed" to handle the HTTP
    content-encoding "snappy". However, this encoding is typically used to indicate
    the "block" compression variant of "snappy". This change allows the collector to:

    • When receiving a request with encoding 'snappy', the server endpoints will peek
      at the first bytes of the payload to determine if it is "framed" or "block" snappy,
      and will decompress accordingly. This is a backwards-compatible change.

    If the feature-gate "confighttp.framedSnappy" is enabled, you'll see new behavior for both client and server:

    • Client compression type "snappy" will now compress to the "block" variant of snappy
      instead of "framed". Client compression type "x-snappy-framed" will now compress to the "framed" variant of snappy.
    • Servers will accept both "snappy" and "x-snappy-framed" as valid content-encodings.
  • tlsconfig: Disable TPM tests on MacOS/Darwin (#12964)

API Changelog

🚩 Deprecations 🚩

  • configauth: Deprecate configauth.Authentication in favor of configauth.Config. (#12875)

πŸ’‘ Enhancements πŸ’‘

  • cmd/mdatagen: Add type definition for events in mdatagen (#12571)
  • cmd/mdatagen: Add functions for processing structured events in mdatagen (#12571)

v1.31.0/v0.125.0

28 Apr 19:34
v0.125.0
42a3ae0
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.125.0

End User Changelog

πŸ›‘ Breaking changes πŸ›‘

  • service: Lowercase values for 'otelcol.component.kind' attributes. (#12865)

  • service: Restrict the telemetry.newPipelineTelemetry feature gate to metrics. (#12856, #12933)
    The "off" state of this feature gate introduced a regression, where the Collector's internal logs were missing component attributes. See issue #12870 for more details on this bug.

    On the other hand, the "on" state introduced an issue with the Collector's default internal metrics, because the Prometheus exporter does not currently support instrumentation scope attributes.

    To solve both of these issues, this change turns on the new scope attributes for logs and traces by default regardless of the feature gate.
    However, the new scope attributes for metrics stay locked behind the feature gate, and will remain off by default until the Prometheus exporter is updated to support scope attributes.

    Please understand that enabling the telemetry.newPipelineTelemetry feature gate may break the export of Collector metrics through, depending on your configuration.
    Having a batch processor in multiple pipelines is a known trigger for this.

    This comes with a breaking change, where internal logs exported through OTLP will now use instrumentation scope attributes to identify the source component instead of log attributes.
    This does not affect the Collector's stderr output. See the changelog for v0.123.0 for a more detailed description of the gate's effects.

πŸ’‘ Enhancements πŸ’‘

  • mdatagen: Add support for attributes for telemetry configuration in metadata. (#12919)
  • configmiddleware: Add extensionmiddleware interface. (#12603, #9591)
  • configgrpc: Add gRPC middleware support. (#12603, #9591)
  • confighttp: Add HTTP middleware support. (#12603, #9591, #7441)
  • configmiddleware: Add configmiddleware struct. (#12603, #9591)

🧰 Bug fixes 🧰

  • exporterhelper: Do not ignore the num_consumers setting when batching is enabled. (#12244)
  • exporterhelper: Reject elements larger than the queue capacity (#12847)
  • mdatagen: Add time and plog package imports (#12907)
  • confmap: Maintain nil values when marshaling or unmarshaling nil slices (#11882)
    Previously, nil slices were converted to empty lists, which are semantically different
    than a nil slice. This change makes this conversion more consistent when encoding
    or decoding config, and these values are now maintained.

API Changelog

🚩 Deprecations 🚩

  • extensionauthtest: Deprecate NewErrorClient in favor of NewErrClient. (#12874)

πŸ’‘ Enhancements πŸ’‘

  • xextension/storage: ErrStorageFull error added to xextension/storage contract (#12925)
  • pdata: Add MoveTo to pcommon.Value, only type missing this (#12877)

🧰 Bug fixes 🧰

  • pdata: Fix MoveTo when moving to the same destination (#12887)

v1.30.0/v0.124.0

14 Apr 19:55
v0.124.0
cf18559
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.124.0

End User Changelog

πŸ› Known bugs πŸ›

  • service/telemetry: Missing attributes in internal Collector logs (#12870).
    • See issue description for workarounds.

πŸ’‘ Enhancements πŸ’‘

  • exporterhelper: Add support for bytes-based batching for profiles in the exporterhelper package. (#3262)
  • otelcol: Enhance config validation using command to capture all validation errors that prevents the collector from starting. (#8721)
  • exporterhelper: Link batcher context to all batched request's span contexts. (#12212, #8122)

🧰 Bug fixes 🧰

  • confighttp: Ensure http authentication server failures are handled by the provided error handler (#12666)

API Changelog

πŸ›‘ Breaking changes πŸ›‘

  • exporterbatcher: Remove deprecated package exporterbatcher (#12780)
  • exporterqueue: Remove deprecated package exporterqueue (#12779)

πŸ’‘ Enhancements πŸ’‘

  • mdatagen: Add variable for metric name in mdatagen (#12459)
    Access metric name via metadata.MetricsInfo.<metric-variable>.Name
  • client: Add support for iterating over client metadata keys (#12804)
  • service: Adds the GetFactory interface to the hostcapabilities package (#12789)
  • cmd/mdatagen: Add the foundational changes necessary for supporting logs data in mdatagen (#12571)

v1.29.0/v0.123.0

31 Mar 19:16
v0.123.0
1ad6912
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.123.0

End User Changelog

❗ Known Issues ❗

  • This version increases memory usage by ~0.5 MB per component in the pipelines because a separate Zap Core logger is
    initialized for each component. The issue is partially fixed in v0.126.0 for users who write logs to stdout, but do
    not export logs via OTLP. See #13014 for more details.
  • service/telemetry: Missing attributes in internal Collector logs (#12870).
    • See issue description for workarounds.

πŸ›‘ Breaking changes πŸ›‘

  • service/telemetry: Mark telemetry.disableAddressFieldForInternalTelemetry as beta, usage of deprecated service::telemetry::address are ignored (#12756)
    To restore the previous behavior disable telemetry.disableAddressFieldForInternalTelemetry feature gate.
  • exporterbatch: Remove deprecated fields min_size_items and max_size_items from batch config. (#12684)

🚩 Deprecations 🚩

πŸ’‘ Enhancements πŸ’‘

  • exporterhelper: Add support to configure batching in the sending queue. (#12746)

  • exporterhelper: Add support for wait_for_result, remove disabled_queue (#12742)
    This has a side effect for users of the experimental BatchConfig with the queue disabled, since not this is | uses only NumCPU() consumers.

  • exporterhelper: Allow exporter memory queue to use different type of sizers. (#12708)

  • service: Add "telemetry.newPipelineTelemetry" feature gate to inject component-identifying attributes in internal telemetry (#12217)
    With the feature gate enabled, all internal telemetry (metrics/traces/logs) will include some of
    the following instrumentation scope attributes:

    • otelcol.component.kind
    • otelcol.component.id
    • otelcol.pipeline.id
    • otelcol.signal
    • otelcol.signal.output

    These attributes are defined in the Pipeline Component Telemetry RFC,
    and identify the component instance from which the telemetry originates.
    They are added automatically without changes to component code.

    These attributes were already included in internal logs as regular log attributes, starting from
    v0.120.0. For consistency with other signals, they have been switched to scope attributes (with
    the exception of logs emitted to standard output), and are now enabled by the feature gate.

    Please make sure that the exporter / backend endpoint you use has support for instrumentation
    scope attributes before using this feature. If the internal telemetry is exported to another
    Collector, a transform processor could be used to turn them into other kinds of attributes if
    necessary.

  • exporterhelper: Enable support to do batching using bytes sizer (#12751)

  • service: Add config key to set metric views used for internal telemetry (#10769)
    The service::telemetry::metrics::views config key can now be used to explicitly set the list of
    metric views used for internal telemetry, mirroring meter_provider::views in the SDK config.
    This can be used to disable specific internal metrics, among other uses.

    This key will cause an error if used alongside other features which would normally implicitly create views, such as:

    • not setting service::telemetry::metrics::level to detailed;
    • enabling the telemetry.disableHighCardinalityMetrics feature flag.

🧰 Bug fixes 🧰

  • exporterhelper: Fix order of starting between queue and batch. (#12705)

API Changelog

πŸ›‘ Breaking changes πŸ›‘

  • otlpreceiver/otlpexporter/otlphttpexporter: Avoid using go embedded messages in Config (#12718)

  • exporterqueue: Move Queue interface to internal, disallow alternative implementations (#12680)

  • extensionauth, configauth: Remove deprecated types and functions from extensionauth and configauth packages. (#12672)
    This includes:

    • extensionauth.NewClient,
    • extensionauth.ClientOption and all its implementations,
    • extensionauth.NewServer,
    • extensionauth.ServerOption and all its implementations and
    • configauth.Authenticator.GetClientAuthenticator.
  • exporterhelper: Remove deprecated converter types from exporterhelper (#12686)

  • exporterbatch: Remove deprecated fields min_size_items and max_size_items from batch config. (#12684)

🚩 Deprecations 🚩

  • exporterhelper: Deprecate BatcherConfig, SizeConfig and WithBatcher in favor of the new QueueBatchConfig. (#12748)
  • exporterbatcher: Deprecated Config, SizeConfig, SizerType, SizerType[Requests|Items|Bytes], NewDefaultConfig. Use alias from exporterhelper. (#12707)
  • exporterqueue: Deprecated Config, NewDefaultConfig, Encoding, ErrQueueFull. Use alias from exporterhelper. (#12706)
  • exporterhelper: Deprecate exporterhelper WithRequestQueue in favor of WithQueueBatch (#12679)
  • exporterhelper: Deprecate QueueConfig in favor of QueueBatchConfig. (#12746)

πŸ’‘ Enhancements πŸ’‘

  • extensionauth: Mark module as stable (#11006)
  • processor: Mark module as stable. (#12677)
  • processorhelper: Split processorhelper into a separate module. (#12678)

v0.122.1

18 Mar 22:22
v0.122.1
a17839e
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.122.1

End User Changelog

🧰 Bug fixes 🧰

  • confmap: Ensure slices with defaults containing struct values are correctly set. (#12661)
    This reverts the changes made in #11882.

API Changelog

v1.28.0/v0.122.0

17 Mar 23:09
8bc15fd
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.122.0

End User Changelog

πŸ›‘ Breaking changes πŸ›‘

  • service: Batch processor telemetry is no longer emitted at "basic" verbosity level (#7890)
    According to the guidelines, basic-level telemetry should be reserved for core Collector APIs.
    Components such as the batch processor should emit telemetry starting from the "normal" level
    (which is also the default level).

    Migration: If your Collector telemetry was set to level: basic and you want to keep seeing
    batch processor-related metrics, consider switching to level: normal instead.

πŸ’‘ Enhancements πŸ’‘

  • service: Add service.AllowNoPipelines feature gate to allow starting the Collector without pipelines. (#12613)
    This can be used to start with only extensions.

  • mdatagen: Delete generated_status.go if the component type doesn't require it. (#12346)

  • componenttest: Improve config struct mapstructure field tag checks (#12590)
    remain tags and omitempty tags without a custom field name will now pass validation.

  • service: include component id/type in start error (#10426)

  • mdatagen: Add deprecation date and migration guide fields as part of component metadata (#12359)

  • confmap: Introduce a new feature flag to allow for merging lists instead of discarding the existing ones. (#8394, #8754, #10370)
    You can enable this option via the command line by running following command:
    otelcol --config=main.yaml --config=extra_config.yaml --feature-gates=-confmap.enableMergeAppendOption

  • zpagesextension: Add expvar handler to zpages extension. (#11081)

🧰 Bug fixes 🧰

  • confmap: Maintain nil values when marshaling or unmarshaling nil slices (#11882)
    Previously, nil slices were converted to empty lists, which are semantically different
    than a nil slice. This change makes this conversion more consistent when encoding
    or decoding config, and these values are now maintained.

  • service: do not attempt to register process metrics if they are disabled (#12098)

API Changelog

πŸ›‘ Breaking changes πŸ›‘

  • auth, authtest: Remove deprecated modules extension/auth and extension/auth/authtest (#12543)
    Use extension/extensionauth and extension/extensionauth/extensionauthtest instead.

  • extensionauth: Remove deprecated methods from the Func types. (#12547)

  • extensiontest, connectortest, processortest, receivertest, scrapertest, exportertest: Remove deprecated NewNopSettingsWithType functions, use NewNopSettings instead. (#12221)

  • extensionauthtest: Remove the extensionauthtest.MockClient struct. (#12567)

    • Use extensionauthtest.NewNopClient to create a client with a noop implementation.
    • Use extensionauthtest.NewErrorClient to create a client that always returns an error.
    • Implement the extensionauth interfaces for custom mock client implementations.
  • component/componenttest: Remove the deprecated componenttest.TestTelemetry in favor of componenttest.Telemetry (#12419)

  • exporterhelper: Remove the Request.Export function in favor of an equivalent request consume func in the New[Traces|Metrics|Logs|Profiles]Request (#12637)

🚩 Deprecations 🚩

  • exporterhelper: Deprecate per signal converter in favor of generic version (#12631)

  • extensionauth: Deprecate extensionauth.NewClient and extensionauth.NewServer. (#12574)

    • Manually implement the interfaces instead.
  • configauth: Deprecate configauth.Authenticator.GetClientAuthenticator. (#12574)

    • Use the per-protocol methods instead.

πŸš€ New components πŸš€

  • receiverhelper: Split receiverhelper into a separate module (#28328)

πŸ’‘ Enhancements πŸ’‘

  • cmd/mdatagen: Add supportsSignal func for Metadata type in mdatagen. (#12640)
  • receiver: Mark module as stable (#12513)
  • pdata/pcommon: Introduce Equal() method for comparison equality to Value, ByteSlice, Float64Slice, Int32Slice, Int64Slice, StringSlice, Uint64Slice, Map and Slice (#12594)
  • pdata: Add iterator All method to pdata slices and map types. (#11982)
  • pdata/pprofile: Introduce AddAttribute helper method to modify the content of attributable records (#12206)

v1.27.0/v0.121.0

04 Mar 09:15
9ff68e1
Compare
Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.121.0

End User Changelog

πŸ›‘ Breaking changes πŸ›‘

  • confighttp: Make the client config options max_idle_conns, max_idle_conns_per_host, max_conns_per_host, and idle_conn_timeout integers (#9478)
    All four options can be set to 0 where they were previously set to null

🚩 Deprecations 🚩

  • exporterhelper: Deprecate min_size_items and max_size_items in favor of min_size and max_size. (#12486)

πŸ’‘ Enhancements πŸ’‘

  • mdatagen: Add converter and provider module classes (#12467)

  • pipeline: output pipeline name with signal as signal[/name] format in logs. (#12410)

  • memorylimiter: Add support to configure min GC intervals for soft and hard limits. (#12450)

  • otlpexporter: Update the stability level for logs, it has been as stable as traces and metrics for some time. (#12423)

  • service: Create a new subcommand to dump the initial configuration after resolving/merging. (#11479)
    To use the print-initial-config subcommand, invoke the Collector with the subcommand and corresponding feature gate: otelcol print-initial-config --feature-gates=otelcol.printInitialConfig --config=config.yaml.
    Note that the feature gate enabling this flag is currently in alpha stability, and the subcommand may
    be changed in the future.

  • memorylimiterprocessor: Add support for profiles. (#12453)

  • otelcol: Converters are now available in the components command. (#11900, #12385)

  • component: Mark module as stable (#9376)

  • confmap: Surface YAML parsing errors when they happen at the top-level. (#12180)
    This adds context to some instances of the error "retrieved value (type=string) cannot be used as a Conf", which typically happens because of invalid YAML documents

  • pprofile: Add LinkIndex attribute to the generated Sample type (#12485)

  • exporterhelper: Stabilize exporter.UsePullingBasedExporterQueueBatcher and remove old batch sender (#12425)

  • mdatagen: Update metadata schema with new fields without enforcing them (#12359)

🧰 Bug fixes 🧰

  • service: Fix crash at startup when converting from v0.2.0 to v0.3.0 (#12438)
  • service: fix bug in parsing service::telemetry configuration (#12437)
  • exporterhelper: Fix bug where the error logged when conversion of data fails is always nil (#12510)
  • mdatagen: Adds back missing import for filter when emitting resource attributes (#12455)

API Changelog

πŸ›‘ Breaking changes πŸ›‘

  • exporterqueue: Remove exporterqueue.Factory in favor of the NewQueue function, and merge configs for memory and persistent. (#12509)
    As a side effect of this change, no alternative implementation of the queue are supported and the Queue interface will be hidden.

  • exporterhelper: Update MergeSplit function signature to use the new SizeConfig (#12486)

  • extension, connector, processor, receiver, exporter, scraper: Remove deprecated Create* methods from Create*Func types. (#12305)
    The xconnector.CreateMetricsToProfilesFunc.CreateMetricsToProfiles method has been removed without a deprecation.

  • component: Remove deprecated function and interface ConfigValidator and ValidateConfig. (#11524)

    • Use xconfmap.Validator and xconfmap.Validate instead.
  • receiver, scraper, processor, exporter, extension: Remove deprecated MakeFactoryMap functions in favor of generic implementation (#12222)

  • exporterhelper: Change the signature of the exporterhelper.WithQueueRequest to accept Encoding instead of the Factory. (#12509)

  • component/componenttest: Removing the deprecated CheckReceiverMetrics and CheckReceiverTraces functions. (#12185)

🚩 Deprecations 🚩

  • componenttest: Deprecated componenttest.TestTelemetry in favor of componenttest.Telemetry (#12419)
  • connector, exporter, extension, processor, receiver, scraper: Add type parameter to NewNopSettings and deprecate NewNopSettingsWithType (#12305)
  • exporterhelper: Deprecate MinSizeConfig and MaxSizeItems. (#12486)
  • extension/extensionauth: Deprecate methods on *Func types. (#12480)
  • extension/auth, extension/auth/authtest: Deprecate extension/auth and the related test module in favor of extension/extensionauth (#12478)

πŸš€ New components πŸš€

  • service/hostcapabilities: create service/hostcapabilities module (#12296, #12375)
    Removes getExporters interface in service/internal/graph.
    Removes getModuleInfos interface in service/internal/graph.
    Creates interface ExposeExporters in service/hostcapabilities to expose GetExporters function.
    Creates interface ModuleInfo in service/hostcapabilities to expose GetModuleInfos function.

πŸ’‘ Enhancements πŸ’‘

  • exporterhelper: Adds the config API to support serialized bytes based batching (#3262)
  • configauth: Add the omitempty mapstructure tag to struct fields (#12191)
    This results in unset fields not being rendered when marshaling.
  • confighttp: Add the omitempty mapstructure tag to struct fields (#12191)
    This results in unset fields not being rendered when marshaling.
  • otelcol: Converters are now available in the components command. (#11900, #12385)
  • extension: Mark module as stable (#11005)
  • pcommon.Map: preallocate go map in Map.AsRaw() (#12406)
  • exporterhelper: Stabilize exporter.UsePullingBasedExporterQueueBatcher and remove old batch sender (#12425)
  • service: Add the omitempty mapstructure tag to struct fields (#12191)
    This results in unset fields not being rendered when marshaling.

🧰 Bug fixes 🧰

  • mdatagen: Fix broken imports in the generated files. (#12298)
  • processor, connector, exporter, receiver: Explicitly error out at component creation time if there is a type mismatch. (#12305)