Skip to content

Latest commit

 

History

History
799 lines (530 loc) · 52.5 KB

CHANGELOG.md

File metadata and controls

799 lines (530 loc) · 52.5 KB

Changelog

v0.20.0

This release includes version 0.115.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.115.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • otelcol: Change all logged timestamps to ISO8601. (#10543) This makes log timestamps human-readable (as opposed to epoch seconds in scientific notation), but may break users trying to parse logged lines in the old format.
  • k8sattributesprocessor: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to Beta. (#25128) Disable the k8sattr.fieldExtractConfigRegex.disallow feature gate to get the old behavior.

💡 Enhancements 💡

  • statsdreceiver: Adapt statsd receiver example config to remove filtering of histogram metrics (#385)
  • tailsamplingprocessor: Adds decision cache for non-sampled trace IDs (#31583)

🧰 Bug fixes 🧰

  • service: ensure OTLP emitted logs respect severity (#11718)
  • processor/k8sattribute: fixes parsing of k8s image names to support images with tags and digests. (#36131)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • statsdreceiver: Adapt statsd receiver example config to remove filtering of histogram metrics (#385)

v0.19.0

This release includes version 0.114.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.114.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰

v0.18.0

This release includes version 0.113.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.113.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

💡 Enhancements 💡

  • transformprocessor: Extend the user data filtering example with a statement for masking the client.address attribute. (#356)
  • transformprocessor: Extend the credit card and IBAN filtering example with log body filtering (#357)
  • docs: Add a note about k8s enrichment of collector internal telemetry (#364)

v0.17.0

This release includes version 0.112.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.112.0:

Highlights from the upstream Collector changelog

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

💡 Enhancements 💡

  • redactionprocessor: Add example config for redacting credit card numbers. (#337)
  • transformprocessor: Add example for DT API Token filtering using the redaction and transform processor. (#346)
  • transformprocessor: Introduce masking example of credit card numbers. (#340)
  • transformprocessor: Introduce masking and redaction example of international IBANs. (#343)
  • transformprocessor: Add config example for redacting user related data with transform processor (#342)

🧰 Bug fixes 🧰

  • installer: Move the documentation key in the linux service file to the correct section (#334)

v0.16.0

This release includes version 0.111.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.111.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • service/telemetry: Change default metrics address to "localhost:8888" instead of ":8888" (#11251) This behavior can be disabled by disabling the feature gate 'telemetry.UseLocalHostAsDefaultMetricsAddress'.
  • config: Move component.UseLocalHostAsDefaultHost feature gate to stable and therefore remove the ability to disable it. (#35569)

🚩 Deprecations 🚩

  • service/telemetry: Deprecate service::telemetry::metrics::address in favor of service::telemetry::metrics::readers. (#11205)
  • processorhelper: Deprecate BuildProcessorMetricName as it's no longer needed since introduction of mdatagen (#11328)

💡 Enhancements 💡

  • confighttp: Snappy compression to lazy read for memory efficiency (#11177)
  • httpsprovider: Mark the httpsprovider as stable. (#11191)
  • httpprovider: Mark the httpprovider as stable. (#11191)
  • yamlprovider: Mark the yamlprovider as stable. (#11192)
  • confmap: Allow using any YAML structure as a string when loading configuration including time.Time formats (#10659) Previously, fields with time.Time formats could not be used as strings in configurations
  • receiver/statsd: Add support for aggregating on Host/IP. (#23809)
  • hostmetricsreceiver: Add ability to mute all errors (mainly due to access rights) coming from process scraper of the hostmetricsreceiver (#20435)
  • pkg/ottl: Add InsertXML Converter (#35436)
  • pkg/ottl: Add GetXML Converter (#35462)
  • pkg/ottl: Add ToKeyValueString Converter (#35334)
  • pkg/ottl: Add RemoveXML Converter (#35301)

🧰 Bug fixes 🧰

  • processorhelper: Fix data race condition, concurrent writes to the err variable, causes UB (Undefined Behavior) (#11350)
  • cmd/builder: re-adds function to properly set and view version number of OpenTelemetry Collector Builder (ocb) binaries (#11208)
  • pdata: Unmarshal Span and SpanLink flags from JSON (#11267)

v0.15.0

This release includes version 0.110.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.110.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • processorhelper: Update incoming/outgoing metrics to a single metric with a otel.signal attributes. (#11144) The following metrics were added in the previous version

    • otelcol_processor_incoming_spans
    • otelcol_processor_outgoing_spans
    • otelcol_processor_incoming_metric_points
    • otelcol_processor_outgoing_metric_points
    • otelcol_processor_incoming_log_records
    • otelcol_processor_outgoing_log_records

    They are being replaced with the following to more closely align with OTEP 259:

    • otelcol_processor_incoming_items
    • otelcol_processor_outgoing_items
  • processorhelper: Remove deprecated [Traces|Metrics|Logs]Inserted funcs (#11151)

  • config: Mark UseLocalHostAsDefaultHostfeatureGate as stable (#11235)

  • pkg/stanza: Move filelog.container.removeOriginalTimeField feature gate to beta (#33389)

    • Disable the filelog.container.removeOriginalTimeField feature gate to get the old behavior.
  • resourcedetectionprocessor: Move processor.resourcedetection.hostCPUSteppingAsString feature gate to stable. (#31136)

  • resourcedetectionprocessor: Remove processor.resourcedetection.hostCPUModelAndFamilyAsString feature gate. (#29025)

🚩 Deprecations 🚩

  • processorhelper: deprecate accepted/refused/dropped metrics (#11201) The following metrics are being deprecated as they were only used in a single processor:
    • otelcol_processor_accepted_log_records
    • otelcol_processor_accepted_metric_points
    • otelcol_processor_accepted_spans
    • otelcol_processor_dropped_log_records
    • otelcol_processor_dropped_metric_points
    • otelcol_processor_dropped_spans
    • otelcol_processor_refused_log_records
    • otelcol_processor_refused_metric_points
    • otelcol_processor_refused_spans
  • hostmetricsreceiver: Set the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to stable. (#34763)

💡 Enhancements 💡

  • mdatagen: Add stability field to telemetry metrics, allowing the generated description to include a stability string. (#11160)
  • confmap/provider/envprovider: Support default values when env var is empty (#5228)
  • service/telemetry: Mark useOtelWithSDKConfigurationForInternalTelemetry as stable (#7532)
  • mdatagen: mdatagen validateMetrics() support validate metrics in telemetry.metric (#10925)
  • mdatagen: Use cobra for the command, add version flag (#11196)
  • processor/transform: Add custom function to the transform processor to convert exponential histograms to explicit histograms. (#33827)
  • pkg/ottl: Improved JSON unmarshaling performance by 10-20% by switching dependencies. (#35130)
  • pkg/ottl: Added support for locale in the Time converter (#32978)
  • transformprocessor: Remove unnecessary data copy when transform sum to/from gauge (#35177)
  • tailsamplingprocessor: Fix the behavior for numeric tag filters with inverse_match set to true. (#34296)

🧰 Bug fixes 🧰

  • service: Ensure process telemetry is registered when internal telemetry is configured with readers instead of an address. (#11093)
  • mdatagen: Fix incorrect generation of metric tests with boolean attributes. (#11169)
  • otelcol: Fix the Windows Event Log configuration when running the Collector as a Windows service. (#5297, #11051)
  • confmap: Fix loading config of a component from a different source. (#11154) This issue only affected loading the whole component config, loading parts of a component config from a different source was working correctly.
  • pkg/stanza: Do not get formatted message for Windows events without an event provider. (#35135) Attempting to get the formatted message for Windows events without an event provider can result in an error being logged. | This change ensures that the formatted message is not retrieved for such events.
  • prometheusreceiver: Fix the retrieval of scrape configurations by also considering scrape config files (#34786)
  • redactionprocessor: Fix panic when using the redaction processor in a logs pipeline (#35331)

0.14.0

This release includes version 0.109.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.109.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • spanmetricsconnector: Improve consistency between metrics generated by spanmetricsconnector. Added traces.span.metrics as default namespace (#33227, #32818) Default namespace for the generated metrics is traces.span.metrics now. | The deprecated metrics are: calls, duration and events. | The feature flag connector.spanmetrics.legacyLatencyMetricNames was added to revert the behavior.
  • pkg/ottl: Remove tracing from OTTL due to performance concerns (#34910)

💡 Enhancements 💡

  • pkg/ottl: Added Decode() converter function (#32493)
  • pkg/ottl: Add Sort function to sort array to ascending order or descending order (#34200)
  • transformprocessor: Support aggregating metrics based on their attribute values and substituting the values with a new value. (#16224)
  • redactionprocessor: Add support for logs and metrics (#34479)

🧰 Bug fixes 🧰

  • hostmetricsreceiver: In filesystem scraper, do not prefix partitions when using the environment variable HOST_PROC_MOUNTINFO (#35043)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • eecprovider: Add informational headers to EEC provider requests (#280)
  • docs: Added Dynatrace dashboards that can be used to inspect the collectors internal telemetry (#274)

v0.13.0

This release includes version 0.108.0/0.108.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.108.0:

v0.108.1:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

🚀 New components 🚀

  • redactionprocessor: Added the redaction processor to the Dynatrace collector distro. (#275)

v0.12.0

This release includes version 0.107.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.107.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • confmap: Set the confmap.unifyEnvVarExpansion feature gate to Stable. Expansion of $FOO env vars is no longer supported. Use ${FOO} or ${env:FOO} instead. (open-telemetry/opentelemetry-collector#10508)
  • filelogreceiver: Check for unsupported fractional seconds directive when converting strptime time layout to native format (open-telemetry/opentelemetry-collector-contrib#34390)
  • fluentforwardreceiver: Update the scope name for telemetry produced by the fluentforwardreceiver from otelcol/fluentforwardreceiver to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver (open-telemetry/opentelemetry-collector-contrib#34534)
  • hostmetricsreceiver: Update the scope name for telemetry produced by the hostmetrics receiver's scrapers from otelcol/hostmetricsreceiver/* to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/* (open-telemetry/opentelemetry-collector-contrib#34526)
  • prometheusreceiver: Update the scope name for telemetry produced by the prometheusreceiver from otelcol/prometheusreceiver to `github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver (open-telemetry/opentelemetry-collector-contrib#34589)
  • statsdreceiver: Update the scope name for telemetry produced by the statsdreceiver from otelcol/statsdreceiver to github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver (open-telemetry/opentelemetry-collector-contrib#34547)
  • k8sattributesprocessor: Update the scope name for telemetry produced by the k8sattributesprocessor from otelcol/k8sattributes to github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • filterprocessor: Update the scope name for telemetry produced by the filterprocessor from otelcol/filter to github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • probabilisticsamplerprocessor: Update the scope name for telemetry produced by the probabilisticsamplerprocessor from otelcol/probabilisticsampler to github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor (open-telemetry/opentelemetry-collector-contrib#34550)
  • tailsamplingprocessor: Update the scope name for telemetry produced by the tailsamplingprocessor from otelcol/tailsampling to github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor (open-telemetry/opentelemetry-collector-contrib#34550)

💡 Enhancements 💡

🧰 Bug fixes 🧰


Dynatrace distribution changelog:

🧰 Bug fixes 🧰

  • release: Add missing dependency to /bin/sh to the RPM linux package (#264)

v0.11.0

This release includes version 0.106.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.106.1:

v0.106.0:

Highlights from the upstream Collector changelog

🚩 Deprecations 🚩

  • k8sattributesprocessor: Deprecate extract.annotations.regex and extract.labels.regex config fields in favor of the ExtractPatterns function in the transform processor. The FieldExtractConfig.Regex parameter will be removed in version v0.111.0. (open-telemetry/opentelemetry-collector-contrib#25128) Deprecating of FieldExtractConfig.Regex parameter means that it is recommended to use the ExtractPatterns function from the transform processor instead. To convert your current configuration please check the ExtractPatterns function documentation. You should use the pattern parameter of ExtractPatterns instead of using the FieldExtractConfig.Regex parameter.

💡 Enhancements 💡


Dynatrace distribution changelog:

💡 Enhancements 💡

  • release: Add version number to all release artifacts (#245) All collector distribution artifacts now include the version number in their filename.

  • release: Release as Linux service for multiple Linux distros (#241) The collector distribution is now available as linux packages (.rpm and .deb).

v0.10.0

This release includes version 0.105.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.105.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

🧰 Bug fixes 🧰

  • confmap: Fixes issue where confmap could not escape $$ when confmap.unifyEnvVarExpansion is enabled. (#10560)
  • otlpreceiver: Fixes a bug where the otlp receiver's http response was not properly translating grpc error codes to http status codes. (#10574)
  • service/telemetry: Add ability to set service.name for spans emitted by the Collector (#10489)
  • internal/localhostgate: Correctly log info message when component.UseLocalHostAsDefaultHost is enabled (#8510)
  • exporterhelper: Fix incorrect deduplication of otelcol_exporter_queue_size and otelcol_exporter_queue_capacity metrics if multiple exporters are used. (#10444)
  • prometheusreceiver: Fix hash computation to include non exported fields like regex in scrape configuration for TargetAllocator (#29313)
  • syslogreceiver: Allow to define max_octets for octet counting RFC5424 syslog parser (#33182)

💡 Enhancements 💡

  • pkg/ottl: Added Hex() converter function (#31929)
  • pkg/ottl: Add IsRootSpan() converter function. (#32918) Converter IsRootSpan() returns true if the span in the corresponding context is root, that means its parent_span_id equals to hexadecimal representation of zero. In all other scenarios function returns false.
  • pkg/ottl: Emit traces for statement sequence executions to troubleshoot OTTL statements/conditions (#33433)
  • receiver/filelog: Add filelog.container.removeOriginalTimeField feature-flag for removing original time field (#33946)
  • statsdreceiver: Allow configuring summary percentiles (#33701)

Dynatrace distribution changelog:

🚀 New components 🚀

  • statsdreceiver: Add statsd receiver to manifest (#229)
  • zipkinreceiver: Added the zipkin receiver to the Dynatrace collector distro (#225)

v0.9.0

This release includes version 0.104.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.104.0:

Warning

This release includes two important breaking changes:

  1. The otlpreceiver, jaegerreceiver and healthcheckextension will now use localhost by default instead of 0.0.0.0. This may break the receivers when the sender is not running on the same host, particularly in containerized environments like Kubernetes. If you depend on 0.0.0.0 disable the component.UseLocalHostAsDefaultHost feature gate or explicitly set the endpoint to 0.0.0.0. For more details, check out the OTel blog post.
  2. Expansion of BASH-style environment variables, such as $FOO will no longer be supported by default. If you depend on this syntax, disable the confmap.unifyEnvVarExpansion feature gate, but know that the feature will be removed in the future in favor of ${env:FOO}.
Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • pkg/ottl: Changed ScopeContext, InstrumentationResourceContext, TransformContext interfaces to make SchemaURL accessible in resources and scopes on all signals (#30229)
  • filter: Remove deprecated filter.CombinedFilter (#10348)
  • otelcol: By default, otelcol.NewCommand and otelcol.NewCommandMustSetProvider will set the DefaultScheme to env. #10435)
  • otelcol: The otelcol.NewCommand now requires at least one provider be set. (#10436)

🚩 Deprecations 🚩

  • otelcol: The otelcol.NewCommandMustSetProvider is deprecated. Use otelcol.NewCommand instead. (#10436)

💡 Enhancements 💡

  • k8sattributesprocessor: Add support for exposing k8s.pod.ip as a resource attribute (#32960)
  • debugexporter: In normal verbosity, display one line of text for each telemetry record (log, data point, span) (#7806)
  • debugexporter: Add option use_internal_logger (#10226)
  • debugexporter: Print Span.TraceState() when present. (#10421)

🧰 Bug fixes 🧰

  • resourcedetectionprocessor: Fetch CPU info only if related attributes are enabled (#33774)
  • tailsamplingprocessor: Fix precedence of inverted match in and policy (#33671) Previously if the decision from a policy evaluation was NotSampled or InvertNotSampled it would return a NotSampled decision regardless, effectively downgrading the result. This was breaking the documented behaviour that inverted decisions should take precedence over all others.
  • otlpexporter: Update validation to support both dns:// and dns:/// (#10449)
  • service: Fixed a bug that caused otel-collector to fail to start with ipv6 metrics endpoint service telemetry. (#10011)

v0.8.0

This release includes version 0.103.0 of the upstream Collector components.

NOTE: This release is in line with the upstream distributions of the Collector version 0.103.1, which is based on the same 0.103.0 upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.103.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • exporter/debug: Disable sampling by default (#9921). To restore the behavior that was previously the default, set sampling_thereafter to 500.

🚩 Deprecations 🚩

  • healthcheckextension: Remove incorrect logic behind check_collector_pipeline config (#33469). This logic incorrectly set the pipeline to OK after waiting for enough callbacks from the opencensus library to be called. As this was broken, I'm removing it to remove the dependency on opencensus as well. Improvements will be available via healthcheckv2 extension.

🧰 Bug fixes 🧰

  • filelogreceiver: Container parser should add k8s metadata as resource attributes and not as log record attributes (#33341)
  • prometheusreceiver: Fall back to scrape config job/instance labels for aggregated metrics without instance/job labels (#32555)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • examples: Added an example for using the syslog receiver, as well as integration tests for the added example. (#136)

v0.7.0

This release includes version 0.102.1 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

0.102.1:

0.102.0:

Highlights from the upstream Collector changelog

This release addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) fully

🛑 Breaking changes 🛑

  • envprovider: Restricts Environment Variable names. Environment variable names must now be ASCII only and start with a letter or an underscore, and can only contain underscores, letters, or numbers. (#9531)
  • confighttp: Apply MaxRequestBodySize to the result of a decompressed body (#10289) When using compressed payloads, the Collector would verify only the size of the compressed payload. This change applies the same restriction to the decompressed content. As a security measure, a limit of 20 MiB was added, which makes this a breaking change. For most clients, this shouldn't be a problem, but if you often have payloads that decompress to more than 20 MiB, you might want to either configure your client to send smaller batches (recommended), or increase the limit using the MaxRequestBodySize option.
  • k8sattributesprocessor: Move k8sattr.rfc3339 feature gate to stable. (#33304)

🧰 Bug fixes 🧰

  • batchprocessor: ensure attributes are set on cardinality metadata metric (#9674)
  • batchprocessor: Fixing processor_batch_metadata_cardinality which was broken in v0.101.0 (#10231)
  • batchprocessor: respect telemetry level for all metrics (#10234)
  • configrpc: Use own compressors for zstd (#10323) Before this change, the zstd compressor we used didn't respect the max message size. This addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) on configgrpc.

v0.6.0

This release includes version 0.101.0 of the upstream Collector components.

The individual upstream Collector changelogs can be found here:

v0.101.0:

Highlights from the upstream Collector changelog

🛑 Breaking changes 🛑

  • filelog, journald, tcp, udp, syslog, windowseventlog receivers: The internal logger has been changed from zap.SugaredLogger to zap.Logger. (#32177) This should not have any meaningful impact on most users but the logging format for some logs may have changed.

💡 Enhancements 💡

  • filelogreceiver: Add container operator parser (#31959)
  • resourcedetectionprocessor: Support GCP Bare Metal Solution in resource detection processor. (#32985)
  • processor/transform: Allow common where clause (#27830)

Dynatrace distribution changelog:

💡 Enhancements 💡

  • Add section to list which container registries are available to pull images from (#188)
  • Use chloggen to generate changelog entries (#191)