Skip to content

Releases: open-telemetry/opentelemetry-collector

Release version 0.30.1

19 Jul 23:14
7983af7

Choose a tag to compare

This release is a no-op compare to v0.30.0, it is just tagged on a main brach commit, instead of a release branch commit. This solves a dependency update issue in the contrib repo, when upgrading to the latest main commit.

Users of the pre-built binaries can ignore this.

v0.30.0 Beta

14 Jul 18:48

Choose a tag to compare

v0.30.0 Beta

🛑 Breaking changes 🛑

  • Rename pdata.DoubleSum to pdata.Sum (#3583)
  • Rename pdata.DoubleGauge to pdata.Gauge (#3599)
  • Migrated pdata to a dedicated package (#3483)
  • Change Marshaler/Unmarshaler to be consistent with other interfaces (#3502)
  • Remove consumer/simple package (#3438)
  • Remove unnecessary interfaces from pdata (#3506)
  • zipkinv1 implement directly Unmarshaler interface (#3504)
  • zipkinv2 implement directly Marshaler/Unmarshaler interface (#3505)
  • Change exporterhelper to accept ExporterCreateSettings instead of just logger (#3569)
  • Deprecate Resize() from pdata slice APIs (#3573)
  • Use Func pattern in processorhelper, consistent with others (#3570)

💡 Enhancements 💡

  • Update OTLP to v0.8.0 (#3572)
  • Migrate from OpenCensus to OpenTelemetry for internal tracing (#3567)
  • Move internal/pdatagrpc to model/otlpgrpc (#3507)
  • Move internal/otlp to model/otlp (#3508)
  • Create http Server via Config, enable cors and decompression (#3513)
  • Allow users to set min and max TLS versions (#3591)
  • Support setting ballast size in percentage of total Mem in ballast extension (#3456)
  • Publish go.opentelemetry.io/collector/model as a separate module (#3530)
  • Pass a TracerProvider via construct settings to all the components (#3592)
  • Make graceful shutdown optional (#3577)

🧰 Bug fixes 🧰

  • scraperhelper: Include the scraper name in log messages (#3487)
  • scraperhelper: fix case when returned pdata is empty (#3520)
  • Record the correct number of points not metrics in Kafka receiver (#3553)
  • Validate the Prometheus configuration (#3589)

v0.29.0

22 Jun 18:29
v0.29.0
8786546

Choose a tag to compare

v0.29.0 Beta

🛑 Breaking changes 🛑

  • Rename service.Application to service.Collector (#3268)
  • Provide case sensitivity in config yaml mappings by using Koanf instead of Viper (#3337)
  • Move zipkin constants to an internal package (#3431)
  • Disallow renaming metrics using metric relabel configs (#3410)
  • Move cgroup and iruntime utils from memory_limiter to internal folder (#3448)
  • Move model pdata interfaces to pdata, expose them publicly (#3455)

💡 Enhancements 💡

  • Change obsreport helpers for scraper to use the same pattern as Processor/Exporter (#3327)
  • Convert otlptext to implement Marshaler interfaces (#3366)
  • Add encoder/decoder and marshaler/unmarshaler for OTLP protobuf (#3401)
  • Use the new marshaler/unmarshaler in kafka exporter (#3403)
  • Convert zipkinv2 to to/from translator interfaces (#3409)
  • zipkinv1: Move to translator and encoders interfaces (#3419)
  • Use the new marshaler/unmarshaler in kafka receiver #3402
  • Change oltp receiver to use the new unmarshaler, avoid grpc-gateway dependency (#3406)
  • Use the new Marshaler in the otlphttp exporter (#3433)
  • Add grpc response struct for all signals instead of returning interface in otlp receiver/exporter (#3437)
  • zipkinv2: Add encoders, decoders, marshalers (#3426)
  • scrapererror receiver: Return concrete error type (#3360)
  • kafka receiver: Add metrics support (#3452)
  • prometheus receiver:
    • Add store to track stale metrics (#3414)
    • Add up and scrape_xxxx internal metrics (#3116)

🧰 Bug fixes 🧰

  • prometheus receiver:
    • Reject datapoints with duplicate label keys (#3408)
    • Scrapers are not stopped when receiver is shutdown (#3450)
  • prometheusremotewrite exporter: Adjust default retry settings (#3416)
  • hostmetrics receiver: Fix missing startTimestamp for processes scraper (#3461)

Release version 0.28.0

09 Jun 05:33
0d9922b

Choose a tag to compare

v0.28.0 Beta

🛑 Breaking changes 🛑

  • Remove unused logstest package (#3222)
  • Introduce AppSettings instead of Parameters (#3163)
  • Remove unused testutil.TempSocketName (#3291)
  • Move BigEndian helper functions in tracetranslator to an internal package.(#3298)
  • Rename configtest.LoadConfigFile to configtest.LoadConfigAndValidate (#3306)
  • Replace ExtensionCreateParams with ExtensionCreateSettings (#3294)
  • Replace ProcessorCreateParams with ProcessorCreateSettings. (#3181)
  • Replace ExporterCreateParams with ExporterCreateSettings (#3164)
  • Replace ReceiverCreateParams with ReceiverCreateSettings. (#3167)
  • Change batchprocessor logic to limit data points rather than metrics (#3141)
  • Rename PrwExporter to PRWExporter and NewPrwExporter to NewPRWExporter (#3246)
  • Avoid exposing OpenCensus reference in public APIs (#3253)
  • Move config.Parser to configparser.Parser (#3304)
  • Remove deprecated funcs inside the obsreceiver (#3314)
  • Remove obsreport.GRPCServerWithObservabilityEnabled, enable observability in config (#3315)
  • Remove obsreport.ProcessorMetricViews, use BuildProcessorCustomMetricName where needed (#3316)
  • Remove "Receive" from obsreport.Receiver funcs (#3326)
  • Remove "Export" from obsreport.Exporter funcs (#3333)
  • Hide unnecessary public struct obsreport.StartReceiveOptions (#3353)
  • Avoid exposing internal implementation public in OC/OTEL receivers (#3355)
  • Updated configgrpc ToDialOptions and confighttp ToClient apis to take extensions configuration map (#3340)
  • Remove GenerateSequentialTraceID and GenerateSequentialSpanIDin functions in testbed (#3390)
  • Change "grpc" to "GRPC" in configauth function/type names (#3285)

💡 Enhancements 💡

  • Add doc.go files to the consumer package and its subpackages (#3270)
  • Automate triggering of doc-update on release (#3234)
  • Enable Dependabot for Github Actions (#3312)
  • Remove the proto dependency in goldendataset for traces (#3322)
  • Add telemetry for dropped data due to exporter sending queue overflow (#3328)
  • Add initial implementation of pdatagrcp (#3231)
  • Change receiver obsreport helpers pattern to match the Processor/Exporter (#3227)
  • Add model translation and encoding interfaces (#3200)
  • Add otlpjson as a serializer implementation (#3238)
  • prometheus receiver:
    • Add createNodeAndResourcePdata for Prometheus->OTLP pdata (#3139)
    • Direct metricfamily Prometheus->OTLP (#3145)
  • Add componenttest.NewNop*CreateSettings to simplify tests (#3375)
  • Add support for markdown generation (#3100)
  • Refactor components for the Client Authentication Extensions (#3287)

🧰 Bug fixes 🧰

  • Use dedicated zapcore.Core for Windows service (#3147)
  • Hook up start and shutdown functions in fileexporter (#3260)
  • Fix oc to pdata translation for sum non-monotonic cumulative (#3272)
  • Fix timeseriesSignature in prometheus receiver (#3310)

Release version 0.27.0

18 May 21:34
26ff342

Choose a tag to compare

v0.27.0 Beta

🛑 Breaking changes 🛑

  • Change Marshal signatures in kafkaexporter's Marshalers to directly convert pdata to sarama.ProducerMessage (#3162)
  • Remove tracetranslator.DetermineValueType, only used internally by Zipkin (#3114)
  • Remove OpenCensus conventions, should not be used (#3113)
  • Remove Zipkin specific translation constants, move to internal (#3112)
  • Remove tracetranslator.TagHTTPStatusCode, use conventions.AttributeHTTPStatusCode (#3111)
  • Remove OpenCensus status constants and transformation (#3110)
  • Remove tracetranslator.AttributeArrayToSlice, not used in core or contrib (#3109)
  • Remove internaldata.MetricsData, same APIs as for traces (#3156)
  • Rename config.IDFromString to NewIDFromString, remove MustIDFromString (#3177)
  • Move consumerfanout package to internal (#3207)
  • Canonicalize enum names in pdata. Fix usage of uppercase names (#3208)

💡 Enhancements 💡

  • Use config.ComponentID for obsreport receiver/scraper (#3098)
  • Add initial implementation of the consumerhelper (#3146)
  • Add Collector version to Prometheus Remote Write Exporter user-agent header (#3094)
  • Refactor processorhelper to use consumerhelper, split by signal type (#3180)
  • Use consumerhelper for exporterhelper, add WithCapabilities (#3186)
  • Set capabilities for all core exporters, remove unnecessary funcs (#3190)
  • Add an internal sharedcomponent to be shared by receivers with shared resources (#3198)
  • Allow users to configure the Prometheus remote write queue (#3046)
  • Mark internaldata traces translation as deprecated for external usage (#3176)

🧰 Bug fixes 🧰

  • Fix Prometheus receiver metric start time and reset determination logic. (#3047)
    • The receiver will no longer drop the first sample for counter, summary, and histogram metrics.
  • The Prometheus remote write exporter will no longer force counter metrics to have a _total suffix. (#2993)
  • Remove locking from jaeger receiver start and stop processes (#3070)
  • Fix batch processor metrics reorder, improve performance (#3034)
  • Fix batch processor traces reorder, improve performance (#3107)
  • Fix batch processor logs reorder, improve performance (#3125)
  • Avoid one unnecessary allocation in grpc OTLP exporter (#3122)
  • batch processor: Validate that batch config max size is greater than send size (#3126)
  • Add capabilities to consumer, remove from processor (#2770)
  • Remove internal protos usage in Prometheusremotewrite exporter (#3184)
  • prometheus receiver: Honor Prometheus external labels (#3127)
  • Validate that remote write queue settings are not negative (#3213)

Release version 0.26.0

05 May 19:32
51661b8

Choose a tag to compare

v0.26.0 Beta

🛑 Breaking changes 🛑

  • Change With*Unmarshallers signatures in Kafka exporter/receiver (#2973)
  • Rename marshall to marshal in all the occurrences (#2977)
  • Remove componenterror.ErrAlreadyStarted and componenterror.ErrAlreadyStopped, components should not protect against this, Service will start/stop once.
  • Rename ApplicationStartInfo to BuildInfo
  • Rename ApplicationStartInfo.ExeName to BuildInfo.Command
  • Rename ApplicationStartInfo.LongName to BuildInfo.Description

💡 Enhancements 💡

  • kafka exporter: Add logs support (#2943)
  • Add AppendEmpty and deprecate Append for slices (#2970)
  • Update mdatagen to create factories of init instead of new (#2978)
  • zipkin receiver: Reduce the judgment of zipkin v1 version (#2990)
  • Custom authenticator logic to accept a component.Host which will extract the authenticator to use based on a new authenticator name property (#2767)
  • prometheusremotewrite exporter: Add resource_to_telemetry_conversion config option (#3031)
  • logging exporter: Extract OTLP text logging (#3082)
  • Format timestamps as strings instead of int in otlptext output (#3088)
  • Add darwin arm64 build (#3090)

🧰 Bug fixes 🧰

  • Fix Jaeger receiver to honor TLS Settings (#2866)
  • zipkin translator: Handle missing starttime case for zipkin json v2 format spans (#2506)
  • prometheus exporter: Fix OTEL resource label drops (#2899)
  • prometheusremotewrite exporter:
    • Enable the queue internally (#2974)
    • Don't drop instance and job labels (#2979)
  • jaeger receiver: Wait for server goroutines exit on shutdown (#2985)
  • logging exporter: Ignore invalid handle on close (#2994)
  • Fix service zpages (#2996)
  • batch processor: Fix to avoid reordering and send max size (#3029)

Release version 0.25.0

20 Apr 19:37
d93c9d2

Choose a tag to compare

v0.25.0 Beta

🛑 Breaking changes 🛑

  • Rename ForEach (in pdata) with Range to be consistent with sync.Map (#2931)
  • Rename componenthelper.Start to componenthelper.StartFunc (#2880)
  • Rename componenthelper.Stop to componenthelper.StopFunc (#2880)
  • Remove exporterheleper.WithCustomUnmarshaler, processorheleper.WithCustomUnmarshaler, receiverheleper.WithCustomUnmarshaler, extensionheleper.WithCustomUnmarshaler, implement config.CustomUnmarshaler interface instead (#2867)
  • Remove component.CustomUnmarshaler implement config.CustomUnmarshaler interface instead (#2867)
  • Remove testutil.HostPortFromAddr, users can write their own parsing helper (#2919)
  • Remove configparser.DecodeTypeAndName, use config.IDFromString (#2869)
  • Remove config.NewViper, users should use config.NewParser (#2917)
  • Remove testutil.WaitFor, use testify.Eventually helper if needed (#2920)
  • Remove testutil.WaitForPort, users can use testify.Eventually (#2926)
  • Rename processorhelper.NewTraceProcessor to processorhelper.NewTracesProcessor (#2935)
  • Rename exporterhelper.NewTraceExporter to exporterhelper.NewTracesExporter (#2937)
  • Remove InitEmptyWithCapacity, add EnsureCapacity and Clear (#2845)
  • Rename traces methods/objects to include Traces in Kafka receiver (#2966)

💡 Enhancements 💡

  • Add validatable interface with Validate() to all config.<component> (#2898)
    • add the empty Validate() implementation for all component configs
  • Experimental: Add a config source manager that wraps the interaction with config sources (#2857, #2903, #2948)
  • kafka exporter: Key jaeger messages on traceid (#2855)
  • scraperhelper: Don't try to count metrics if scraper returns an error (#2902)
  • Extract ConfigFactory in a ParserProvider interface (#2868)
  • prometheus exporter: Allows Summary metrics to be exported to Prometheus (#2900)
  • prometheus receiver: Optimize dpgSignature function (#2945)
  • kafka receiver: Add logs support (#2944)

🧰 Bug fixes 🧰

  • prometheus receiver:
    • Treat Summary and Histogram metrics without "_sum" counter as valid metric (#2812)
    • Add job and instance as well-known labels (#2897)
  • prometheusremotewrite exporter:
    • Sort Sample by Timestamp to avoid out of order errors (#2941)
    • Remove incompatible queued retry (#2951)
  • kafka receiver: Fix data race with batchprocessor (#2957)
  • jaeger receiver: Jaeger agent should not report ErrServerClosed (#2965)

v0.24.0

06 Apr 20:26
v0.24.0
c5ddd09

Choose a tag to compare

v0.24.0 Beta

🛑 Breaking changes 🛑

  • Remove legacy internal metrics for memorylimiter processor, spans_dropped and trace_batches_dropped (#2841)
    • For spans_dropped use processor/refused_spans with processor=memorylimiter
  • Rename pdata..[Start|End]Time to pdata..[Start|End]Timestamp (#2847)
  • Rename pdata.DoubleExemplar to pdata.Exemplar (#2804)
  • Rename pdata.DoubleHistogram to pdata.Histogram (#2797)
  • Rename pdata.DoubleSummary to pdata.Summary (#2774)
  • Refactor consumererror package (#2768)
    • Remove PartialError type in favor of signal-specific types
    • Rename CombineErrors() to Combine()
  • Refactor componenthelper package (#2778)
    • Remove ComponentSettings and DefaultComponentSettings()
    • Rename NewComponent() to New()
  • obsReport.NewExporter accepts a settings struct (#2668)
  • Remove ErrorWaitingHost from componenttest (#2582)
  • Move config.Load to use configparser.Load (#2796)
  • Remove configtest.NewViperFromYamlFile(), use config.Parser.NewParserFromFile() (#2806)
  • Move config.ViperSubExact() to use config.Parser.Sub() (#2806)
  • Update LoadReceiver signature to remove unused params (#2823)
  • Move configerror.ErrDataTypeIsNotSupported to componenterror.ErrDataTypeIsNotSupported (#2886)
  • RenameCreateTraceExporter type to CreateTracesExporter in exporterhelper (#2779)
  • Move fluentbit extension to contrib (#2795)
  • Move configmodels to config (#2808)
  • Move fluentforward receiver to contrib (#2723)

💡 Enhancements 💡

  • batch processor: - Support max batch size for logs (#2736)
  • Use Endpoint for health check extension (#2782)
  • Use confignet.TCPAddr for pprof and zpages extensions (#2829)
  • Deprecate consumetest.New[${SIGNAL}]Nop in favor of consumetest.NewNop (#2878)
  • Deprecate consumetest.New[${SIGNAL}]Err in favor of consumetest.NewErr (#2878)
  • Add watcher to values retrieved via config sources (#2803)
  • Updates for cloud semantic conventions (#2809)
    • cloud.infrastructure_service -> cloud.platform
    • cloud.zone -> cloud.availability_zone
  • Add systemd environment file for deb/rpm packages (#2822)
  • Add validate interface in configmodels to force each component do configuration validation (#2802, #2856)
  • Add aws.ecs.task.revision to semantic conventions list (#2816)
  • Set unprivileged user to container image (#2838)
  • Add New funcs for extension, exporter, processor config settings (#2872)
  • Report metric about current size of the exporter retry queue (#2858)
  • Allow adding new signals in ProcessorFactory by forcing everyone to embed BaseProcessorFactory (#2885)

🧰 Bug fixes 🧰

  • pdata.TracesFromOtlpProtoBytes: Fixes to handle backwards compatibility changes in proto (#2798)
  • jaeger receiver: Escape user input used in output (#2815)
  • prometheus exporter: Ensure same time is used for updated time (#2745)
  • prometheusremotewrite exporter: Close HTTP response body (#2875)

Note

As a precautionary measure against the codecov incident, we've rebuilt the binaries, packages and docker images for this release. Please update your builds and checksums.

Release version 0.23.0

23 Mar 20:11
2df27c0

Choose a tag to compare

v0.23.0 Beta

🛑 Breaking changes 🛑

  • Move fanout consumers to fanoutconsumer package (#2615)
  • Rename ExporterObsReport to Exporter (#2658)
  • Rename ProcessorObsReport to Processor (#2657)
  • Remove ValidateConfig and add Validate on the Config struct (#2665)
  • Rename pdata Size to OtlpProtoSize (#2726)
  • Rename [Traces|Metrics|Logs]Consumer to [Traces|Metrics|Logs] (#2761)
  • Remove public access for componenttest.Example* components:
    • Users of these structs for testing configs should use the newly added componenttest.Nop* (update all components name in the config example* -> nop and use componenttest.NopComponents()).
    • Users of these structs for sink like behavior should use consumertest.*Sink.

💡 Enhancements 💡

  • hostmetrics receiver: List labels along with respective metrics in metadata (#2662)
  • exporter helper: Remove obsreport.ExporterContext, always add exporter name as a tag to the metrics (#2682)
  • jaeger exporter: Change to not use internal data (#2698)
  • kafka receiver: Change to not use internal data (#2697)
  • zipkin receiver: Change to not use internal data (#2699)
  • kafka exporter: Change to not use internal data (#2696)
  • Ensure that extensions can be created and started multiple times (#2679)
  • Use otlp request in logs wrapper, hide members in the wrapper (#2692)
  • Add MetricsWrapper to dissallow access to internal representation (#2693)
  • Add TracesWrapper to dissallow access to internal representation (#2721)
  • Allow multiple OTLP receivers to be created (#2743)

🧰 Bug fixes 🧰

  • prometheus exporter: Fix to work with standard labels that follow the naming convention of using periods instead of underscores (#2707)
  • Propagate name and transport for prometheus receiver and exporter (#2680)
  • zipkin receiver: Ensure shutdown correctness (#2765)

Note

As a precautionary measure against the codecov incident, we've rebuilt the binaries, packages and docker images for this release. Please update your builds and checksums.

Release version 0.22.0

09 Mar 18:49
0345f0d

Choose a tag to compare

v0.22.0 Beta

🛑 Breaking changes 🛑

  • Rename ServiceExtension to just Extension (#2581)
  • Remove consumerdata.TraceData (#2551)
  • Move consumerdata.MetricsData to internaldata.MetricsData (#2512)
  • Remove custom OpenCensus sematic conventions that have equivalent in otel (#2552)
  • Move ScrapeErrors and PartialScrapeError to scrapererror (#2580)
  • Remove support for deprecated unmarshaler CustomUnmarshaler, only Unmarshal is supported (#2591)
  • Remove deprecated componenterror.CombineErrors (#2598)
  • Rename pdata.TimestampUnixNanos to pdata.Timestamp (#2549)

💡 Enhancements 💡

  • prometheus exporter: Re-implement on top of github.com/prometheus/client_golang/prometheus and add metric_expiration option
  • logging exporter: Add support for AttributeMap (#2609)
  • Add semantic conventions for instrumentation library (#2602)

🧰 Bug fixes 🧰

  • otlp receiver: Fix Shutdown() bug (#2564)
  • batch processor: Fix Shutdown behavior (#2537)
  • logging exporter: Fix handling the loop for empty attributes (#2610)
  • prometheusremotewrite exporter: Fix counter name check (#2613)

Note

As a precautionary measure against the codecov incident, we've rebuilt the binaries, packages and docker images for this release. Please update your builds and checksums.