Releases: open-telemetry/opentelemetry-collector
Release version 0.28.0
v0.28.0 Beta
🛑 Breaking changes 🛑
- Remove unused logstest package (#3222)
- Introduce
AppSettingsinstead ofParameters(#3163) - Remove unused testutil.TempSocketName (#3291)
- Move BigEndian helper functions in
tracetranslatorto an internal package.(#3298) - Rename
configtest.LoadConfigFiletoconfigtest.LoadConfigAndValidate(#3306) - Replace
ExtensionCreateParamswithExtensionCreateSettings(#3294) - Replace
ProcessorCreateParamswithProcessorCreateSettings. (#3181) - Replace
ExporterCreateParamswithExporterCreateSettings(#3164) - Replace
ReceiverCreateParamswithReceiverCreateSettings. (#3167) - Change
batchprocessorlogic to limit data points rather than metrics (#3141) - Rename
PrwExportertoPRWExporterandNewPrwExportertoNewPRWExporter(#3246) - Avoid exposing OpenCensus reference in public APIs (#3253)
- Move
config.Parsertoconfigparser.Parser(#3304) - Remove deprecated funcs inside the obsreceiver (#3314)
- Remove
obsreport.GRPCServerWithObservabilityEnabled, enable observability in config (#3315) - Remove
obsreport.ProcessorMetricViews, useBuildProcessorCustomMetricNamewhere needed (#3316) - Remove "Receive" from
obsreport.Receiverfuncs (#3326) - Remove "Export" from
obsreport.Exporterfuncs (#3333) - Hide unnecessary public struct
obsreport.StartReceiveOptions(#3353) - Avoid exposing internal implementation public in OC/OTEL receivers (#3355)
- Updated configgrpc
ToDialOptionsand confighttpToClientapis to take extensions configuration map (#3340) - Remove
GenerateSequentialTraceIDandGenerateSequentialSpanIDinfunctions in testbed (#3390) - Change "grpc" to "GRPC" in configauth function/type names (#3285)
💡 Enhancements 💡
- Add
doc.gofiles 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
goldendatasetfor 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)
prometheusreceiver:- Add
componenttest.NewNop*CreateSettingsto simplify tests (#3375) - Add support for markdown generation (#3100)
- Refactor components for the Client Authentication Extensions (#3287)
🧰 Bug fixes 🧰
Release version 0.27.0
v0.27.0 Beta
🛑 Breaking changes 🛑
- Change
Marshalsignatures in kafkaexporter's Marshalers to directly convert pdata tosarama.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, useconventions.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.IDFromStringtoNewIDFromString, removeMustIDFromString(#3177) - Move consumerfanout package to internal (#3207)
- Canonicalize enum names in pdata. Fix usage of uppercase names (#3208)
💡 Enhancements 💡
- Use
config.ComponentIDfor 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, andhistogrammetrics.
- The receiver will no longer drop the first sample for
- The Prometheus remote write exporter will no longer force
countermetrics to have a_totalsuffix. (#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)
batchprocessor: 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)
prometheusreceiver: Honor Prometheus external labels (#3127)- Validate that remote write queue settings are not negative (#3213)
Release version 0.26.0
v0.26.0 Beta
🛑 Breaking changes 🛑
- Change
With*Unmarshallerssignatures in Kafka exporter/receiver (#2973) - Rename
marshalltomarshalin all the occurrences (#2977) - Remove
componenterror.ErrAlreadyStartedandcomponenterror.ErrAlreadyStopped, components should not protect against this, Service will start/stop once. - Rename
ApplicationStartInfotoBuildInfo - Rename
ApplicationStartInfo.ExeNametoBuildInfo.Command - Rename
ApplicationStartInfo.LongNametoBuildInfo.Description
💡 Enhancements 💡
kafkaexporter: Add logs support (#2943)- Add AppendEmpty and deprecate Append for slices (#2970)
- Update mdatagen to create factories of init instead of new (#2978)
zipkinreceiver: Reduce the judgment of zipkin v1 version (#2990)- Custom authenticator logic to accept a
component.Hostwhich will extract the authenticator to use based on a new authenticator name property (#2767) prometheusremotewriteexporter: Addresource_to_telemetry_conversionconfig option (#3031)loggingexporter: 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)
zipkintranslator: Handle missing starttime case for zipkin json v2 format spans (#2506)prometheusexporter: Fix OTEL resource label drops (#2899)prometheusremotewriteexporter:jaegerreceiver: Wait for server goroutines exit on shutdown (#2985)loggingexporter: Ignore invalid handle on close (#2994)- Fix service zpages (#2996)
batchprocessor: Fix to avoid reordering and send max size (#3029)
Release version 0.25.0
v0.25.0 Beta
🛑 Breaking changes 🛑
- Rename ForEach (in pdata) with Range to be consistent with sync.Map (#2931)
- Rename
componenthelper.Starttocomponenthelper.StartFunc(#2880) - Rename
componenthelper.Stoptocomponenthelper.StopFunc(#2880) - Remove
exporterheleper.WithCustomUnmarshaler,processorheleper.WithCustomUnmarshaler,receiverheleper.WithCustomUnmarshaler,extensionheleper.WithCustomUnmarshaler, implementconfig.CustomUnmarshalerinterface instead (#2867) - Remove
component.CustomUnmarshalerimplementconfig.CustomUnmarshalerinterface instead (#2867) - Remove
testutil.HostPortFromAddr, users can write their own parsing helper (#2919) - Remove
configparser.DecodeTypeAndName, useconfig.IDFromString(#2869) - Remove
config.NewViper, users should useconfig.NewParser(#2917) - Remove
testutil.WaitFor, usetestify.Eventuallyhelper if needed (#2920) - Remove testutil.WaitForPort, users can use testify.Eventually (#2926)
- Rename
processorhelper.NewTraceProcessortoprocessorhelper.NewTracesProcessor(#2935) - Rename
exporterhelper.NewTraceExportertoexporterhelper.NewTracesExporter(#2937) - Remove InitEmptyWithCapacity, add EnsureCapacity and Clear (#2845)
- Rename traces methods/objects to include Traces in Kafka receiver (#2966)
💡 Enhancements 💡
- Add
validatableinterface withValidate()to allconfig.<component>(#2898)- add the empty
Validate()implementation for all component configs
- add the empty
- Experimental: Add a config source manager that wraps the interaction with config sources (#2857, #2903, #2948)
kafkaexporter: 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)
prometheusexporter: Allows Summary metrics to be exported to Prometheus (#2900)prometheusreceiver: OptimizedpgSignaturefunction (#2945)kafkareceiver: Add logs support (#2944)
🧰 Bug fixes 🧰
v0.24.0
v0.24.0 Beta
🛑 Breaking changes 🛑
- Remove legacy internal metrics for memorylimiter processor,
spans_droppedandtrace_batches_dropped(#2841)- For
spans_droppeduseprocessor/refused_spanswithprocessor=memorylimiter
- For
- 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
consumererrorpackage (#2768)- Remove
PartialErrortype in favor of signal-specific types - Rename
CombineErrors()toCombine()
- Remove
- Refactor
componenthelperpackage (#2778)- Remove
ComponentSettingsandDefaultComponentSettings() - Rename
NewComponent()toNew()
- Remove
- obsReport.NewExporter accepts a settings struct (#2668)
- Remove ErrorWaitingHost from
componenttest(#2582) - Move
config.Loadto useconfigparser.Load(#2796) - Remove
configtest.NewViperFromYamlFile(), useconfig.Parser.NewParserFromFile()(#2806) - Move
config.ViperSubExact()to useconfig.Parser.Sub()(#2806) - Update LoadReceiver signature to remove unused params (#2823)
- Move
configerror.ErrDataTypeIsNotSupportedtocomponenterror.ErrDataTypeIsNotSupported(#2886) - Rename
CreateTraceExportertype toCreateTracesExporterinexporterhelper(#2779) - Move
fluentbitextension to contrib (#2795) - Move
configmodelstoconfig(#2808) - Move
fluentforwardreceiver to contrib (#2723)
💡 Enhancements 💡
batchprocessor: - Support max batch size for logs (#2736)- Use
Endpointfor health check extension (#2782) - Use
confignet.TCPAddrforpprofandzpagesextensions (#2829) - Deprecate
consumetest.New[${SIGNAL}]Nopin favor ofconsumetest.NewNop(#2878) - Deprecate
consumetest.New[${SIGNAL}]Errin favor ofconsumetest.NewErr(#2878) - Add watcher to values retrieved via config sources (#2803)
- Updates for cloud semantic conventions (#2809)
cloud.infrastructure_service->cloud.platformcloud.zone->cloud.availability_zone
- Add systemd environment file for deb/rpm packages (#2822)
- Add validate interface in
configmodelsto force each component do configuration validation (#2802, #2856) - Add
aws.ecs.task.revisionto 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
ProcessorFactoryby forcing everyone to embedBaseProcessorFactory(#2885)
🧰 Bug fixes 🧰
pdata.TracesFromOtlpProtoBytes: Fixes to handle backwards compatibility changes in proto (#2798)jaegerreceiver: Escape user input used in output (#2815)prometheusexporter: Ensure same time is used for updated time (#2745)prometheusremotewriteexporter: 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
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 configexample*->nopand usecomponenttest.NopComponents()). - Users of these structs for sink like behavior should use
consumertest.*Sink.
- Users of these structs for testing configs should use the newly added
💡 Enhancements 💡
hostmetricsreceiver: List labels along with respective metrics in metadata (#2662)exporterhelper: Remove obsreport.ExporterContext, always add exporter name as a tag to the metrics (#2682)jaegerexporter: Change to not use internal data (#2698)kafkareceiver: Change to not use internal data (#2697)zipkinreceiver: Change to not use internal data (#2699)kafkaexporter: 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 🧰
prometheusexporter: Fix to work with standard labels that follow the naming convention of using periods instead of underscores (#2707)- Propagate name and transport for
prometheusreceiver and exporter (#2680) zipkinreceiver: 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
v0.22.0 Beta
🛑 Breaking changes 🛑
- Rename ServiceExtension to just Extension (#2581)
- Remove
consumerdata.TraceData(#2551) - Move
consumerdata.MetricsDatatointernaldata.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, onlyUnmarshalis supported (#2591) - Remove deprecated componenterror.CombineErrors (#2598)
- Rename
pdata.TimestampUnixNanostopdata.Timestamp(#2549)
💡 Enhancements 💡
prometheusexporter: Re-implement on top ofgithub.zerozr99.workers.dev/prometheus/client_golang/prometheusand addmetric_expirationoptionloggingexporter: Add support for AttributeMap (#2609)- Add semantic conventions for instrumentation library (#2602)
🧰 Bug fixes 🧰
otlpreceiver: FixShutdown()bug (#2564)batchprocessor: Fix Shutdown behavior (#2537)loggingexporter: Fix handling the loop for empty attributes (#2610)prometheusremotewriteexporter: 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.
Release version 0.21.0
v0.21.0 Beta
🛑 Breaking changes 🛑
- Remove deprecated function
IsValidfrom trace/span ID (#2522) - Remove accessors for deprecated status code (#2521)
💡 Enhancements 💡
otlphttpexporter: Addcompressionoption for gzip encoding of outgoing http requests (#2502)- Add
ScrapeErrorsstruct toconsumererrorto simplify errors usage (#2414) - Add
cors_allowed_headersoption toconfighttp(#2454) - Add SASL/SCRAM authentication mechanism on
kafkareceiver and exporter (#2503)
🧰 Bug fixes 🧰
otlpreceiver: Sets the correct deprecated status code before sending data to the pipeline (#2521)- Fix
IsPermanentto account for wrapped errors (#2455) otlpexporter: Preserve original error messages (#2459)
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.20.0
v0.20.0 Beta
🛑 Breaking changes 🛑
- Move
samplingprocessor/probabilisticsamplerprocessortoprobabilisticsamplerprocessor(#2392), affects only user who import the code.
💡 Enhancements 💡
hostmetricsreceiver: Refactor to use metrics metadata utilities (#2405, #2406, #2421)- Add k8s.node semantic conventions (#2425)
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.19.0
v0.19.0 Beta
🛑 Breaking changes 🛑
- Remove deprecated
queued_retryprocessor - Remove deprecated configs from
resourceprocessor:type(set "opencensus.type" key in "attributes.upsert" map instead) andlabels(use "attributes.upsert" instead).
💡 Enhancements 💡
hostmetricsreceiver: Refactor load metrics to use generated metrics (#2375)- Add uptime to the servicez debug page (#2385)
- Add new semantic conventions for AWS (#2365)