Skip to content

Releases: open-telemetry/opentelemetry-collector

cmd/builder/v0.94.1

07 Feb 23:30
cmd/builder/v0.94.1
5ef560b
Compare
Choose a tag to compare

v1.1.0/v0.94.0

06 Feb 23:40
v0.94.0
ca0eab2
Compare
Choose a tag to compare

End User Changelog

🛑 Breaking changes 🛑

  • receiver/otlp: Update gRPC code from codes.InvalidArgument to codes.Internal when a permanent error doesn't contain a gRPC status (#9415)

🚩 Deprecations 🚩

  • configgrpc: Deprecate GRPCClientSettings, use ClientConfig instead (#6767)

💡 Enhancements 💡

  • mdatagen: Add a generated test that checks the config struct using componenttest.CheckConfigStruct (#9438)

  • component: Add component.UseLocalHostAsDefaultHost feature gate that changes default endpoints from 0.0.0.0 to localhost (#8510)
    The only component in this repository affected by this is the OTLP receiver.

  • confighttp: Add support of Host header (#9395)

  • mdatagen: Remove use of ReportFatalError in generated tests (#9439)

🧰 Bug fixes 🧰

  • service: fix opencensus bridge configuration in periodic readers (#9361)
  • otlpreceiver: Fix goroutine leak when GRPC server is started but HTTP server is unsuccessful (#9165)
  • otlpexporter: PartialSuccess is treated as success, logged as warning. (#9243)

API Changelog

🛑 Breaking changes 🛑

  • confignet: Remove deprecated DialContext and ListenContext functions (#9363)

  • confmap/converter/expandconverter: Add confmap.ConverterSettings argument to experimental expandconverter.New function. (#5615, #9162)

    • The confmap.ConverterSettings struct currently has no fields. It will be used to pass a logger.
  • component: Remove deprecated funcs and types (#9283)

  • otlpexporter: Config struct is moving from embedding the deprecated GRPCClientSettings struct to using ClientConfig instead. (#6767)

  • otlphttpexporter: otlphttpexporter.Config embeds the struct confighttp.ClientConfig instead of confighttp.HTTPClientSettings (#6767)

  • otlpreceiver: HTTPConfig struct is moving from embedding the deprecated ServerSettings struct to using HTTPServerConfig instead. (#6767)

  • component: Validate component.Type at creation and unmarshaling time. (#9208)

    • A component.Type must start with an ASCII alphabetic character and can only contain ASCII alphanumeric characters and '_'.

🚩 Deprecations 🚩

  • configcompressions: Deprecate IsCompressed. Use CompressionType.IsCompressed instead instead. (#9435)
  • configcompression: Deprecate CompressionType, use Type instead. (#9416)
  • confighttp: Deprecate CORSSettings, use CORSConfig instead (#6767)
  • configgrpc: Deprecate ToListener function in favor of ToListenerContext (#9389)
  • configgrpc: Deprecate GRPCServerSettings, use ServerConfig instead (#6767)
  • confighttp: Deprecate HTTPClientSettings, use ClientConfig instead (#6767)
  • confighttp: Deprecate HTTPServerSettings, use ServerConfig instead (#6767)
  • confmap/provider: Deprecate .New in favor of .NewWithSettings for all core providers (#5615, #9162)
    • NewWithSettings now takes an empty confmap.ProviderSettings struct. This will be used to pass a logger in the future.

💡 Enhancements 💡

  • exporter/exporterhelper: Add API for enabling queue in the new exporter helpers. (#7874)
    The following experimental API is introduced in exporter package:

    • exporterhelper.WithRequestQueue: a new exporter helper option for using a queue.
    • exporterqueue.Queue: an interface for queue implementations.
    • exporterqueue.Factory: a queue factory interface, implementations of this interface are intended to be used with WithRequestQueue option.
    • exporterqueue.Settings: queue factory settings.
    • exporterqueue.Config: common configuration for queue implementations.
    • exporterqueue.NewDefaultConfig: a function for creating a default queue configuration.
    • exporterqueue.NewMemoryQueueFactory: a new factory for creating a memory queue.
    • `exporterqueue.NewPersistentQueueFactory: a factory for creating a persistent queue.
  • featuregate: Add the featuregate.ErrAlreadyRegistered error, which is returned by featuregate.Registry's Register when adding a feature gate that is already registered. (#8622)
    Use errors.Is to check for this error.

cmd/builder/v0.94.0

06 Feb 23:40
cmd/builder/v0.94.0
ca0eab2
Compare
Choose a tag to compare

v0.93.0

24 Jan 05:17
v0.93.0
463bb08
Compare
Choose a tag to compare

End user Changelog

🛑 Breaking changes 🛑

  • exporterhelper: remove deprecated exporterhelper.RetrySettings and exporterhelper.NewDefaultRetrySettings (#9256)
  • configopaque: configopaque.String implements fmt.Stringer and fmt.GoStringer, outputting [REDACTED] when formatted with the %s, %q or %#v verbs(#9213) This may break applications that rely on the previous behavior of opaque strings withfmt.Sprintfto e.g. build URLs or headers. Explicitly cast the opaque string to a string before using it infmt.Sprintf` to restore the previous behavior.

🚀 New components 🚀

  • extension/memory_limiter: Introduce a memory_limiter extension which receivers can use to reject incoming requests when collector doesn't have enough memory (#8632)
    The extension has the same configuration interface and behavior as the existing memory_limiter processor, which potentially can be deprecated and removed in the future

💡 Enhancements 💡

  • configtls: add cipher_suites to configtls. (#8105)
    Users can specify a list of cipher suites to pick from. If left blank, a safe default list is used.

  • service: mark telemetry.useOtelForInternalMetrics as stable (#816)

  • exporters: Cleanup log messages for export failures (#9219)

    1. Ensure an error message is logged every time and only once when data is dropped/rejected due to export failure.
    2. Update the wording. Specifically, don't use "dropped" term when an error is reported back to the pipeline.
      Keep the "dropped" wording for failures happened after the enabled queue.
    3. Properly report any error reported by a queue. For example, a persistent storage error must be reported as a storage error, not as "queue overflow".

🧰 Bug fixes 🧰

  • configgrpc: Update dependency to address a potential crash in the grpc instrumentation (#9296)
  • otlpreceiver: Ensure OTLP receiver handles consume errors correctly (#4335)
    Make sure OTLP receiver returns correct status code and follows the receiver contract (gRPC)
  • zpagesextension: Remove mention of rpcz page from zpages extension (#9328)

Go API Changelog

🛑 Breaking changes 🛑

  • bug_fix: Implement encoding.BinaryMarshaler interface to prevent configopaque -> []byte -> string conversions from leaking the value (#9279)

  • configopaque: configopaque.String implements fmt.Stringer and fmt.GoStringer, outputting [REDACTED] when formatted with the %s, %q or %#v verbs(#9213) This may break applications that rely on the previous behavior of opaque strings withfmt.Sprintfto e.g. build URLs or headers. Explicitly cast the opaque string to a string before using it infmt.Sprintf` to restore the previous behavior.

  • all: Remove obsolete "// +build" directives (#9304)

  • connectortest: Remove deprecated connectortest router helpers. (#9278)

🚩 Deprecations 🚩

  • obsreporttest: deprecate test funcs/structs (#8492)
    The following methods/structs have been moved from obsreporttest to componenttest:

    • obsreporttest.TestTelemetry -> componenttest.TestTelemetry
    • obsreporttest.SetupTelemetry -> componenttest.SetupTelemetry
    • obsreporttest.CheckScraperMetrics -> TestTelemetry.CheckScraperMetrics
    • obserporttest.TestTelemetry.TelemetrySettings -> componenttest.TestTelemetry.TelemetrySettings()
  • confignet: Deprecates DialContext and ListenContext functions. Use Dial and Listen instead. (#9258)
    Unlike the previous Dial and Listen functions, the new Dial and Listen functions take a context.Context like DialContext and ListenContext.

cmd/builder/v0.93.0

24 Jan 11:11
cmd/builder/v0.93.0
463bb08
Compare
Choose a tag to compare

v1.0.1/v0.92.0

09 Jan 23:24
40c7db8
Compare
Choose a tag to compare

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

End user Changelog

v1.0.1/v0.92.0

🛑 Breaking changes 🛑

  • exporters/sending_queue: Do not re-enqueue failed batches, rely on the retry_on_failure strategy instead. (#8382)
    The current re-enqueuing behavior is not obvious and cannot be configured. It takes place only for persistent queue
    and only if retry_on_failure::enabled=true even if retry_on_failure is a setting for a different backoff retry
    strategy. This change removes the re-enqueuing behavior. Consider increasing retry_on_failure::max_elapsed_time
    to reduce chances of data loss or set it to 0 to keep retrying until requests succeed.

  • confmap: Make the option WithErrorUnused enabled by default when unmarshaling configuration (#7102)
    The option WithErrorUnused is now enabled by default, and a new option WithIgnoreUnused is introduced to ignore
    errors about unused fields.

  • status: Deprecate ReportComponentStatus in favor of ReportStatus. This new function does not return an error. (#9148)

🚩 Deprecations 🚩

  • connectortest: Deprecate connectortest.New[Metrics|Logs|Traces]Router in favour of connector.New[Metrics|Logs|Traces]Router (#9095)

  • exporterhelper: Deprecate exporterhelper.RetrySettings in favor of configretry.BackOffConfig (#9091)

  • extension/ballast: Deprecate memory_ballast extension. (#8343)
    Use GOMEMLIMIT environment variable instead.

  • connector: Deprecate [Metrics|Logs|Traces]Router in favour of [Metrics|Logs|Traces]RouterAndConsumer (#9095)

💡 Enhancements 💡

  • exporterhelper: Add RetrySettings validation function (#9089)
    Validate that time.Duration, multiplier values in configretry are non-negative, and randomization_factor is between 0 and 1

  • service: Enable telemetry.useOtelForInternalMetrics by updating the flag to beta (#7454)
    The metrics generated should be consistent with the metrics generated
    previously with OpenCensus. Users can disable the behaviour
    by setting --feature-gates -telemetry.useOtelForInternalMetrics at
    collector start.

  • mdatagen: move component from contrib to core (#9172)

  • semconv: Generated Semantic conventions 1.22.0. (#8686)

  • confignet: Add dialer_timeout config option. (#9066)

  • processor/memory_limiter: Update config validation errors (#9059)

    • Fix names of the config fields that are validated in the error messages
    • Move the validation from start to the initialization phrase
  • exporterhelper: Add config Validate for TimeoutSettings (#9104)

🧰 Bug fixes 🧰

  • memorylimiterprocessor: Fixed leaking goroutines from memorylimiterprocessor (#9099)
  • cmd/otelcorecol: Fix the code detecting if the collector is running as a service on Windows. (#7350)
    Removed the NO_WINDOWS_SERVICE environment variable given it is not needed anymore.
  • otlpexporter: remove dependency of otlphttpreceiver on otlpexporter (#6454)

API Changelog

This changelog includes only developer-facing changes.
If you are looking for user-facing changes, check out CHANGELOG.md.

v1.0.1/v0.92.0

🛑 Breaking changes 🛑

  • otlpexporter: Change Config members names to use Config suffix. (#9091)
  • component: Remove deprecated unused TelemetrySettingsBase (#9145)

🚩 Deprecations 🚩

  • confignet: Deprecates the Dial and Listen functions in favor of DialContext and ListenContext. (#9163)
  • component: Deprecate unnecessary type StatusFunc (#9146)

cmd/builder/v0.92.0

09 Jan 23:24
40c7db8
Compare
Choose a tag to compare

v0.91.0

11 Dec 21:36
v0.91.0
c27d2cd
Compare
Choose a tag to compare

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

v0.91.0

💡 Enhancements 💡

  • statusreporting: Automates status reporting upon the completion of component.Start(). (#7682)
  • service: add resource attributes as labels to otel metrics to ensures backwards compatibility with OpenCensus metrics. (#9029)
  • semconv: Generated Semantic conventions 1.21. (#9056)
  • config/confighttp: Exposes http/2 transport settings to enable health check and workaround golang http/2 issue golang/go#59690 (#9022)
  • cmd/builder: running builder version on binaries installed with go install will output the version specified at the suffix. (#8770)

🧰 Bug fixes 🧰

  • exporterhelper: fix missed metric aggregations (#9048)
    This ensures that context cancellation in the exporter doesn't interfere with metric aggregation. The OTel
    SDK currently returns if there's an error in the context used in Add. This means that if there's a
    cancelled context in an export, the metrics are now recorded.

  • service: Fix bug where MutatesData would not correctly propagate through connectors. (#9053)

cmd/builder/v0.91.0

11 Dec 21:36
cmd/builder/v0.91.0
c27d2cd
Compare
Choose a tag to compare

v0.90.1

01 Dec 18:49
v0.90.1
469226f
Compare
Choose a tag to compare

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

User facing changes

🧰 Bug fixes 🧰

  • exporterhelper: Remove noisy "Exporting finished" log (#9017)