Releases: open-telemetry/opentelemetry-collector
v1.35.0/v0.129.0
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 thego liststderr output on failures, and to rungo listwhere the metadata file is. (#13205)
- 
service: Support settingsamplerandlimitsunderservice::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 methodsFromLocationIndicesandPutLocationto 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.PersistRequestContextto 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*Configfunctions 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- Equalmethod on the- Mappingtype (#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- Equalmethods on the- Lineand- Locationtypes (#13150)
- pdata/pprofile: Add new helper method- SetMappingto set a new mapping on a location. (#13197)
π§° Bug fixes π§°
- confmap: Distinguish between empty and nil values when marshaling- confmap.Confstructs. (#13196)
v1.34.0/v0.128.0
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- cookiesin confighttp.ClientConfig (#13116)
- otlpreceiver: Use- configoptional.Optionalto define optional configuration sections in the OTLP receiver. Remove- Unmarshalmethod. (#13119)
- confighttp,configgrpc: Rename- ClientConfig.TLSSettingand- ServerConfig.TLSSettingto- ClientConfig.TLSand- 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- MoveAndAppendTomethods to the generated primitive slices (#13074)
- pdata: Upgrade the OTLP protobuf definitions to version 1.7.0 (#13075)
π§° Bug fixes π§°
- 
confmap: Correctly distinguish betweenniland empty map values on theToStringMapmethod (#13161)
 This means thatToStringMap()method can now return a nil map if the original value wasnil.
 If you were not doing so already, make sure to check fornilbefore writing to the map to avoid panics.
- 
confighttp: Make theNewDefaultServerConfigfunction 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
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- normalverbosity (#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 π‘
v1.32.0/v0.126.0
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.Authenticationand- extensionauthtest.NewErrorClient(#12992)
 The following have been removed:- configauth.Authenticationuse- configauth.Configinstead
- extensionauthtest.NewErrorClientuse- extensionauthtest.NewErrinstead
 
π‘ Enhancements π‘
- 
service: Replacego.opentelemetry.io/collector/semconvusage withgo.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 ofsnappycontent-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.
 
- When receiving a request with encoding 'snappy', the server endpoints will peek
- 
tlsconfig: Disable TPM tests on MacOS/Darwin (#12964)
API Changelog
π© Deprecations π©
- configauth: Deprecate- configauth.Authenticationin favor of- configauth.Config. (#12875)
π‘ Enhancements π‘
v1.31.0/v0.125.0
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 thetelemetry.newPipelineTelemetryfeature 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.newPipelineTelemetryfeature gate may break the export of Collector metrics through, depending on your configuration.
 Having abatchprocessor 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_consumerssetting 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
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
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.disableAddressFieldForInternalTelemetryas beta, usage of deprecated service::telemetry::address are ignored (#12756)
 To restore the previous behavior disable- telemetry.disableAddressFieldForInternalTelemetryfeature gate.
- exporterbatch: Remove deprecated fields- min_size_itemsand- max_size_itemsfrom batch config. (#12684)
π© Deprecations π©
- otlpexporter: Mark BatcherConfig as deprecated, use- sending_queue::batchinstead (#12726)
- exporterhelper: Deprecate- blockingin favor of- block_on_overflow. (#12710)
- exporterhelper: Deprecate configuring exporter batching separately. Use- sending_queue::batchinstead. (#12772)
 Moving the batching configuration to- sending_queue::batchrequires setting- sending_queue::sizerto- items
 which means that- sending_queue::queue_sizeneeds to be also increased by the average batch size number (roughly
 x5000 for the default batching configuration).
 See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#configuration
π‘ 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 usingbytessizer (#12751)
- 
service: Add config key to set metric views used for internal telemetry (#10769)
 Theservice::telemetry::metrics::viewsconfig key can now be used to explicitly set the list of
 metric views used for internal telemetry, mirroringmeter_provider::viewsin 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::leveltodetailed;
- enabling the telemetry.disableHighCardinalityMetricsfeature flag.
 
- not setting 
π§° 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 fromextensionauthandconfigauthpackages. (#12672)
 This includes:- extensionauth.NewClient,
- extensionauth.ClientOptionand all its implementations,
- extensionauth.NewServer,
- extensionauth.ServerOptionand all its implementations and
- configauth.Authenticator.GetClientAuthenticator.
 
- 
exporterhelper: Remove deprecated converter types from exporterhelper (#12686)
- 
exporterbatch: Remove deprecated fieldsmin_size_itemsandmax_size_itemsfrom 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- QueueConfigin favor of- QueueBatchConfig. (#12746)
π‘ Enhancements π‘
v0.122.1
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
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: basicand you want to keep seeing
 batch processor-related metrics, consider switching tolevel: normalinstead.
π‘ Enhancements π‘
- 
service: Addservice.AllowNoPipelinesfeature 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)
 remaintags andomitemptytags 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 theFunctypes. (#12547)
- 
extensiontest, connectortest, processortest, receivertest, scrapertest, exportertest: Remove deprecatedNewNopSettingsWithTypefunctions, useNewNopSettingsinstead. (#12221)
- 
extensionauthtest: Remove theextensionauthtest.MockClientstruct. (#12567)- Use extensionauthtest.NewNopClientto create a client with a noop implementation.
- Use extensionauthtest.NewErrorClientto create a client that always returns an error.
- Implement the extensionauthinterfaces for custom mock client implementations.
 
- Use 
- 
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: Deprecateextensionauth.NewClientandextensionauth.NewServer. (#12574)- Manually implement the interfaces instead.
 
- 
configauth: Deprecateconfigauth.Authenticator.GetClientAuthenticator. (#12574)- Use the per-protocol methods instead.
 
π New components π
- receiverhelper: Split- receiverhelperinto a separate module (#28328)
π‘ Enhancements π‘
- cmd/mdatagen: Add- supportsSignalfunc for- Metadatatype 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,- Mapand- 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
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_timeoutintegers (#9478)
 All four options can be set to- 0where they were previously set to- null
π© Deprecations π©
- exporterhelper: Deprecate- min_size_itemsand- max_size_itemsin favor of- min_sizeand- max_size. (#12486)
π‘ Enhancements π‘
- 
mdatagen: Addconverterandprovidermodule 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 theprint-initial-configsubcommand, 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 thecomponentscommand. (#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 deprecatedCreate*methods fromCreate*Functypes. (#12305)
 Thexconnector.CreateMetricsToProfilesFunc.CreateMetricsToProfilesmethod has been removed without a deprecation.
- 
component: Remove deprecated function and interfaceConfigValidatorandValidateConfig. (#11524)- Use xconfmap.Validatorandxconfmap.Validateinstead.
 
- Use 
- 
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 deprecatedCheckReceiverMetricsandCheckReceiverTracesfunctions. (#12185)
π© Deprecations π©
- componenttest: Deprecated componenttest.TestTelemetry in favor of componenttest.Telemetry (#12419)
- connector, exporter, extension, processor, receiver, scraper: Add type parameter to- NewNopSettingsand deprecate- NewNopSettingsWithType(#12305)
- exporterhelper: Deprecate MinSizeConfig and MaxSizeItems. (#12486)
- extension/extensionauth: Deprecate methods on- *Functypes. (#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/hostcapabilitiesmodule (#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- omitemptymapstructure tag to struct fields (#12191)
 This results in unset fields not being rendered when marshaling.
- confighttp: Add the- omitemptymapstructure tag to struct fields (#12191)
 This results in unset fields not being rendered when marshaling.
- otelcol: Converters are now available in the- componentscommand. (#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- omitemptymapstructure tag to struct fields (#12191)
 This results in unset fields not being rendered when marshaling.