Skip to content

fix(pyroscope.ebpf): Update opentelemetry-ebpf-profiler#5904

Merged
blewis12 merged 1 commit into
mainfrom
kk/update-ebpf-profiler
Mar 26, 2026
Merged

fix(pyroscope.ebpf): Update opentelemetry-ebpf-profiler#5904
blewis12 merged 1 commit into
mainfrom
kk/update-ebpf-profiler

Conversation

@korniltsev-grafanista
Copy link
Copy Markdown
Contributor

@korniltsev-grafanista korniltsev-grafanista commented Mar 26, 2026

Update go.opentelemetry.io/ebpf-profiler replacement to latest pyroscope_alloy branch commit from github.com/grafana/opentelemetry-ebpf-profiler.

Old: v0.0.202602-0.20260216144214-241376220646
New: v0.0.202602-0.20260326091923-bd31a19190b9

This is to include this fix for customer escalation grafana/opentelemetry-ebpf-profiler#53

@korniltsev-grafanista korniltsev-grafanista changed the title chore(deps): update opentelemetry-ebpf-profiler chore(deps): Update opentelemetry-ebpf-profiler Mar 26, 2026
@korniltsev-grafanista korniltsev-grafanista marked this pull request as ready for review March 26, 2026 09:31
@korniltsev-grafanista korniltsev-grafanista requested a review from a team as a code owner March 26, 2026 09:31
@korniltsev-grafanista korniltsev-grafanista changed the title chore(deps): Update opentelemetry-ebpf-profiler fix(pyroscope.ebpf): Update opentelemetry-ebpf-profiler Mar 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 26, 2026

🔍 Dependency Review

Below are the reviews for dependencies changed in the provided go.mod diffs. Each section includes an assessment and concrete migration notes (with diffs) when applicable.

Key finding: The only dependency that requires code changes in this PR is the Grafana fork of the OpenTelemetry eBPF profiler. All other updates are patch/minor bumps and appear safe.

go.opentelemetry.io/ebpf-profiler (replaced) v0.0.202602-0.20260216144214-241376220646 -> github.com/grafana/opentelemetry-ebpf-profiler v0.0.20260326091923-bd31a19190b9 — ❌ Changes Needed

Impact

  • This upgrade introduces a breaking internal data model change in the ebpf-profiler samples package.
  • Specifically, grouping keys and event maps were refactored:
    • Resource-level identity moved to a new samples.ResourceKey (replacing containerID + parts of the old TraceAndMetaKey).
    • Sample-level identity moved to a new samples.SampleKey (replacing the old TraceAndMetaKey for sample uniqueness).
    • The events mapping types were renamed/restructured:
      • samples.KeyToEventMapping -> samples.SampleToEvents
      • samples.TraceAndMetaKey -> samples.SampleKey
      • A new container type samples.ResourceToProfiles now carries EnvVars at the resource level and splits Events by origin.

Evidence (source change in this PR that matches the new API)

  • In internal/component/pyroscope/ebpf/reporter/pprof.go and corresponding tests, the code was adapted to:
    • Use samples.ResourceKey and samples.SampleKey.
    • Store EnvVars at the resource level (ResourceToProfiles) rather than inside TraceEvents.
    • Update createProfile to accept a ResourceKey and map[SampleKey]*TraceEvents.
  • The following diffs demonstrate the minimum required changes to migrate from the old API to the new API:

Migration snippets (apply these patterns wherever similar code exists)

  1. Replace old keying with ResourceKey + SampleKey, and new event container:
- containerID := meta.ContainerID
- key := samples.TraceAndMetaKey{
-   Hash:           trace.Hash,
-   Comm:           meta.Comm,
-   ProcessName:    meta.ProcessName,
-   ExecutablePath: meta.ExecutablePath,
-   ApmServiceName: meta.APMServiceName,
-   Pid:            int64(meta.PID),
-   Tid:            int64(meta.TID),
- }

- if _, exists := (*eventsTree)[containerID]; !exists {
-   (*eventsTree)[containerID] = make(map[libpf.Origin]samples.KeyToEventMapping)
- }

- if _, exists := (*eventsTree)[containerID][meta.Origin]; !exists {
-   (*eventsTree)[containerID][meta.Origin] = make(samples.KeyToEventMapping)
- }

- if events, exists := (*eventsTree)[containerID][meta.Origin][key]; exists {
-   events.Timestamps = append(events.Timestamps, uint64(meta.Timestamp))
-   events.OffTimes = append(events.OffTimes, meta.OffTime)
-   (*eventsTree)[containerID][meta.Origin][key] = events
-   return nil
- }
- (*eventsTree)[containerID][meta.Origin][key] = &samples.TraceEvents{
-   Frames:     trace.Frames,
-   Timestamps: []uint64{uint64(meta.Timestamp)},
-   OffTimes:   []int64{meta.OffTime},
-   EnvVars:    meta.EnvVars,
-   Labels:     trace.CustomLabels,
- }

+ key := samples.ResourceKey{
+   APMServiceName: meta.APMServiceName,
+   ContainerID:    meta.ContainerID,
+   PID:            int64(meta.PID),
+   ExecutablePath: meta.ExecutablePath,
+ }

+ if _, exists := (*eventsTree)[key]; !exists {
+   (*eventsTree)[key] = samples.ResourceToProfiles{
+     EnvVars: meta.EnvVars,
+     Events:  make(map[libpf.Origin]samples.SampleToEvents),
+   }
+ }

+ rtp := (*eventsTree)[key]
+ if _, exists := rtp.Events[meta.Origin]; !exists {
+   rtp.Events[meta.Origin] = make(samples.SampleToEvents)
+ }

+ sampleKey := samples.SampleKey{
+   Hash: trace.Hash,
+   Comm: meta.Comm,
+   TID:  int64(meta.TID),
+   CPU:  int64(meta.CPU),
+ }
+ if events, exists := rtp.Events[meta.Origin][sampleKey]; exists {
+   events.Timestamps = append(events.Timestamps, uint64(meta.Timestamp))
+   events.OffTimes = append(events.OffTimes, meta.OffTime)
+   return nil
+ }
+ rtp.Events[meta.Origin][sampleKey] = &samples.TraceEvents{
+   Frames:     trace.Frames,
+   Timestamps: []uint64{uint64(meta.Timestamp)},
+   OffTimes:   []int64{meta.OffTime},
+   Labels:     trace.CustomLabels,
+ }
  1. Update the reportProfile loop and createProfile signature to match new types:
- for containerID, ts := range reportedEvents {
-   for origin, events := range ts {
-     pp := p.createProfile(containerID, origin, events)
+ for resourceKey, rtp := range reportedEvents {
+   for origin, events := range rtp.Events {
+     pp := p.createProfile(resourceKey, origin, events)
      profiles = append(profiles, pp...)
   }
 }
-func (p *PPROFReporter) createProfile(containerID samples.ContainerID, origin libpf.Origin, events map[samples.TraceAndMetaKey]*samples.TraceEvents) []PPROF {
+func (p *PPROFReporter) createProfile(resourceKey samples.ResourceKey, origin libpf.Origin, events map[samples.SampleKey]*samples.TraceEvents) []PPROF {
  1. Use resourceKey instead of the old TraceAndMetaKey inside createProfile:
- for traceKey, traceInfo := range events {
-   target := p.sd.FindTarget(uint32(traceKey.Pid), containerID.String())
+ for sampleKey, traceInfo := range events {
+   target := p.sd.FindTarget(uint32(resourceKey.PID), resourceKey.ContainerID.String())
    if target == nil {
      continue
    }
-   b := bs.BuilderForSample(target, uint32(traceKey.Pid))
+   b := bs.BuilderForSample(target, uint32(resourceKey.PID))

-   comm := traceKey.Comm.String()
+   comm := sampleKey.Comm.String()
    if p.cfg.PIDLabel {
-     sampleLabels["pid"] = []string{strconv.FormatInt(traceKey.Pid, 10)}
+     sampleLabels["pid"] = []string{strconv.FormatInt(resourceKey.PID, 10)}
    }
  1. Remove EnvVars from TraceEvents usage; they are now attached at the resource level (samples.ResourceToProfiles.EnvVars). If you need EnvVars during build, pass them from the ResourceToProfiles value instead of from TraceEvents.

  2. Update tests to use ResourceKey and SampleToEvents:

- traceKey := samples.TraceAndMetaKey{ Pid: 123 }
- events := samples.KeyToEventMapping{
-   traceKey: &samples.TraceEvents{ ... },
- }
- profiles := rep.createProfile(libpf.Intern(""), support.TraceOriginSampling, events)
+ events := samples.SampleToEvents{
+   {}: &samples.TraceEvents{ ... },
+ }
+ profiles := rep.createProfile(samples.ResourceKey{PID: 123}, support.TraceOriginSampling, events)

Notes

  • The new model splits resource identity and per-sample uniqueness, and introduces CPU in SampleKey. Make sure to include CPU and TID in keys where sample-level identity must remain stable across events.
  • EnvVars are no longer per-sample; they are attached to the resource-level container.

References

  • Grafana fork (github.com/grafana/opentelemetry-ebpf-profiler) – review recent commits and release notes for the samples package showing ResourceKey/SampleKey refactor and ResourceToProfiles introduction. The code above reflects those changes as used in this PR.
github.com/cilium/ebpf v0.20.0 -> v0.21.0 — ✅ Safe
  • Scope: indirect dependency; your code doesn’t import it directly (it is pulled by the eBPF-related modules you already depend on).
  • Release notes between 0.20.0 and 0.21.0 indicate internal fixes and improvements; no breaking API changes are required for consumers not directly importing it.
  • Action: No code changes required.

References

go.opentelemetry.io/proto/otlp v1.9.0 -> v1.10.0 — ✅ Safe
  • Minor version bump in the OTLP protobuf Go module.
  • Additions like profiles-related protos are present (seen as additional go.sum entries for profiles/v1development), but no removals or breaking changes to existing telemetry protos used by this repository are reported.
  • If you generate protobufs from .proto files locally, ensure your toolchain matches this version. Otherwise, using the published Go module is sufficient.

References

AWS SDK for Go v2 (multiple submodules) — ✅ Safe

Modules bumped (patch-level):

  • github.com/aws/aws-sdk-go-v2 v1.41.3 -> v1.41.4
  • github.com/aws/aws-sdk-go-v2/config v1.32.11 -> v1.32.12
  • github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19 -> v1.18.20
  • github.com/aws/aws-sdk-go-v2/service/s3 v1.96.1 -> v1.97.2
  • github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.5 -> v1.7.8
  • github.com/aws/aws-sdk-go-v2/credentials v1.19.11 -> v1.19.12
  • github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 -> v1.4.20
  • github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 -> v2.7.20
  • github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 -> v1.8.6
  • github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.18 -> v1.4.21
  • github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 -> v1.13.7
  • github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.9 -> v1.9.12
  • github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 -> v1.13.20
  • github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.18 -> v1.19.20
  • github.com/aws/aws-sdk-go-v2/service/signin v1.0.7 -> v1.0.8
  • github.com/aws/aws-sdk-go-v2/service/sso v1.30.12 -> v1.30.13
  • github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.16 -> v1.35.17
  • github.com/aws/aws-sdk-go-v2/service/sts v1.41.8 -> v1.41.9

Assessment

  • All are patch-level releases with no breaking changes noted in release notes.
  • No API changes are required in your code; this PR makes no code changes related to these modules.

References

golang.org/x/sys v0.41.0 -> v0.42.0 — ✅ Safe
  • Patch-level update; no API-level changes affecting this repo are expected.
  • No code changes required.

References

golang.org/x/crypto v0.48.0 -> v0.49.0 — ✅ Safe
  • Patch-level update; typical security/bug fixes.
  • No API changes detected that would require code updates.

References

golang.org/x/net v0.51.0 -> v0.52.0 — ✅ Safe
  • Patch-level update; no breaking API changes expected.
  • No code changes required.

References

golang.org/x/text v0.34.0 -> v0.35.0 — ✅ Safe
  • Patch-level update; internal fixes and improvements.
  • No code changes required.

References

golang.org/x/tools v0.42.0 -> v0.43.0 — ✅ Safe
  • Mostly tooling/dev-only; no breaking runtime changes.
  • No code changes required.

References

golang.org/x/mod v0.33.0 -> v0.34.0 — ✅ Safe
  • Module tooling only; no application code changes required.

References

golang.org/x/term v0.40.0 -> v0.41.0 — ✅ Safe
  • Patch-level update.
  • No code changes required.

References

golang.org/x/exp (pseudo-version bump) — ✅ Safe
  • Experimental package; no public API usage shown in the repo that would be impacted by this bump.
  • No code changes required.

References

golang.org/x/telemetry (pseudo-version bump) — ✅ Safe
  • Telemetry tooling; no code changes required for application behavior.

References

github.com/klauspost/compress v1.18.4 -> v1.18.5 — ✅ Safe
  • Patch-level bug fixes/perf improvements.
  • No API changes required.

References

github.com/knadh/koanf/v2 v2.3.2 -> v2.3.3 — ✅ Safe
  • Patch-level update with fixes; no breaking API changes reported.
  • No code changes required.

References

github.com/elastic/go-perf (pseudo-version bump) — ✅ Safe
  • Indirect dependency used by eBPF/instrumentation tooling; no direct usage in your code.
  • No code changes required.

References

Notes

  • Net-new indirect dependency observed in go.sum (ignored per rules because it’s net-new and indirect):
    • github.com/open-telemetry/sig-profiling/tools/profcheck — likely pulled in by the updated ebpf-profiler fork.
  • The only dependency necessitating code changes in this PR is the Grafana fork of the OpenTelemetry eBPF profiler. The PR already contains the required updates (ResourceKey/SampleKey adoption, EnvVars moved to resource level, updated createProfile signature and usage).

@blewis12 blewis12 added the freeze-exempt Denotes a PR which is exempt from code freezes. Usually a necessary fix for RC stability. label Mar 26, 2026
Copy link
Copy Markdown
Member

@blewis12 blewis12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like tests are failing 👀

@korniltsev-grafanista korniltsev-grafanista requested a review from a team as a code owner March 26, 2026 09:47
…lloy

Update github.com/grafana/opentelemetry-ebpf-profiler to bd31a19190b9.
Adapt pprof reporter to upstream API changes: TraceAndMetaKey split
into ResourceKey + SampleKey, KeyToEventMapping renamed to SampleToEvents,
ContainerID moved into ResourceKey.
@blewis12 blewis12 merged commit dfaec47 into main Mar 26, 2026
51 checks passed
@blewis12 blewis12 deleted the kk/update-ebpf-profiler branch March 26, 2026 10:15
blewis12 pushed a commit that referenced this pull request Mar 30, 2026
🤖 I have created a release *beep* *boop*
---


## [1.15.0](v1.14.0...v1.15.0)
(2026-03-26)


### ⚠ BREAKING CHANGES

* **otelcol:** Upgrade to OTel Collector v0.147.0
([#5784](#5784))
* Renamed undocumented metrics that was previously prefixed with
<component_id>_<metric_name> to loki_source_awsfirehose_<metric_name>

### Features 🌟

* **alloy-mixin:** Add filters, groupBy, and multi-select dashboard
variables ([#5611](#5611))
([3ef714e](3ef714e))
* **beyla.ebpf:** Add support for Prometheus native histograms
([#5812](#5812))
([7d806fb](7d806fb))
* **beyla.ebpf:** Bump Beyla to v3.6
([#5833](#5833))
([cd878d5](cd878d5))
* **converters:** Support converting Promtail limits_config
([#5777](#5777))
([9491385](9491385))
* **database_observability.mysql:** Add filtering of query samples and
wait events by minimum duration
([#5678](#5678))
([5a4d03b](5a4d03b))
* **database_observability.mysql:** Embed prometheus exporter within
db-o11y component
([#5711](#5711))
([88bffb0](88bffb0))
* **database_observability.postgres:** Add configurable limit to
`pg_stat_statements` query
([#5639](#5639))
([0de0a3f](0de0a3f))
* **database_observability.postgres:** Embed prometheus exporter within
db-o11y component
([#5714](#5714))
([9dc2e83](9dc2e83))
* **database_observability:** Add scaffolding for db-o11y integration
tests ([#5575](#5575))
([ca637d8](ca637d8))
* **database_observability:** Promote components to stable
([#5736](#5736))
([21a9af6](21a9af6))
* Expose Functionality to Handle syslogs with Empty MSG Field
([#5687](#5687))
([178b1e6](178b1e6))
* **helm:** Allow setting `revisionHistoryLimit` in the helm chart
([#5847](#5847))
([9713ad4](9713ad4))
* **loki.process:** Support structured metadata as source type of
stage.labels for loki.process
([#5055](#5055))
([eda3152](eda3152))
* **loki.secretfilter:** Add sampling for secretfilter entries
([#5663](#5663))
([9997802](9997802))
* **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and
MaxOutstandingMessages
([#5760](#5760))
([c2b9f0b](c2b9f0b))
* **loki.write:** Add loki pipeline latency metric
([#5702](#5702))
([cc744a1](cc744a1))
* **mixin:** Update loki dashboard
([#5848](#5848))
([b616d58](b616d58))
* **otelcol.receiver.datadog:** Expose intake proxy and
trace_id_cache_size settings
([#5776](#5776))
([0384ad4](0384ad4))
* **otelcol:** Upgrade to OTel Collector v0.147.0
([#5784](#5784))
([a9b5396](a9b5396))
* **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default
([#5768](#5768))
([a2f3489](a2f3489))
* **pyroscope.ebpf:** Add comm, pid labels and kernel frame options
([#5769](#5769))
([4fa7068](4fa7068))
* **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to
Prometheus ([#5774](#5774))
([e713392](e713392))
* **pyroscope:** Copy prometheus common/config HTTP client into
promhttp2 package
([#5810](#5810))
([0b31aaa](0b31aaa))


### Bug Fixes 🐛

* **beyla:** Inject Beyla version into binary via ldflags
([#5735](#5735))
([71c03ec](71c03ec))
* Correctly handle the deprecated topic field in otelcol.receiver.kafka
configuration ([#5726](#5726))
([538ac75](538ac75))
* **database_observability.mysql:** Ensure result sets are properly
closed ([#5893](#5893))
([f28f91c](f28f91c))
* **database_observability:** Ensure all collectors are properly stopped
([#5796](#5796))
([6bfa2a7](6bfa2a7))
* **database_observability:** Ensure that `connection_info` metric is
only emitted for a given DB instance when it is available
([#5707](#5707))
([bf0c3dc](bf0c3dc))
* **database_observability:** Solve test flakiness in MySQL and Postgres
sample collectors
([#5130](#5130))
([a7590d1](a7590d1))
* **deps:** Update module github.com/buger/jsonparser to v1.1.2
[SECURITY] ([#5834](#5834))
([b2fee8a](b2fee8a))
* **deps:** Update module github.com/buger/jsonparser to v1.1.2
[SECURITY] ([#5870](#5870))
([698b4e7](698b4e7))
* **deps:** Update module google.golang.org/grpc to v1.79.3 [SECURITY]
([#5825](#5825))
([5cfbcc4](5cfbcc4))
* **deps:** Update module google.golang.org/grpc to v1.79.3 [SECURITY]
([#5871](#5871))
([259152d](259152d))
* **deps:** Update npm dependencies
([#5876](#5876))
([f0f6a11](f0f6a11))
* **deps:** Update npm deps across repo to address CVE-2026-26996 and
CVE-2026-22029 ([#5872](#5872))
([df518dd](df518dd))
* **go:** Update build image to go v1.25.8
([#5832](#5832))
([f9b3043](f9b3043))
* **go:** Update go to 1.25.8
([#5844](#5844))
([534e7db](534e7db))
* Helm: alloy.extraPorts not working with service.type=NodePort [COPY]
([#5892](#5892))
([162c6f7](162c6f7))
* **loki.enrich:** Use shared loki functions and fix locking
([#5821](#5821))
([f916c72](f916c72))
* **loki.process:** Multiline no longer pass empty entry if start was
flushed ([#5746](#5746))
([7bdedf1](7bdedf1))
* **loki.process:** Protect against json that does not look like docker
json format ([#5761](#5761))
([0af6eaa](0af6eaa))
* **loki.secretfilter:** Fix bug where entries were being shadow dropped
([#5786](#5786))
([90243f9](90243f9))
* **loki.source.file:** Fix position tracking when component stops
([#5800](#5800))
([9762946](9762946))
* **loki.source.file:** Keep positions for compressed files when reading
is finished ([#5723](#5723))
([fb41d0a](fb41d0a))
* **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics
([#5713](#5713))
([e9d9b69](e9d9b69))
* **loki.source.heroku:** Fix shutdown semantics and consume logs in
batches ([#5804](#5804))
([deda452](deda452))
* **loki.write:** Remove noisy log
([#5837](#5837))
([8e28f35](8e28f35))
* **loki:** Make drain forward entries with fallback timeout
([#5830](#5830))
([cfbca90](cfbca90))
* **prometheus.scrape:** Update arguments and targets even if
`scrape_native_histograms` and `extra_metrics` are updated
([#5787](#5787))
([dc4cb0a](dc4cb0a))
* **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler
([#5904](#5904))
([dfaec47](dfaec47))
* Stop components in a deterministic order
([#5613](#5613))
([00cd371](00cd371))


### Chores

* Use shared source structures for aws firehose
([#5739](#5739))
([aef19dc](aef19dc))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: grafana-alloybot[bot] <167359181+grafana-alloybot[bot]@users.noreply.github.com>
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 2, 2026
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [grafana/alloy](https://github.com/grafana/alloy) | minor | `v1.14.2` → `v1.15.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>grafana/alloy (grafana/alloy)</summary>

### [`v1.15.0`](https://github.com/grafana/alloy/releases/tag/v1.15.0)

[Compare Source](grafana/alloy@v1.14.2...v1.15.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#&#8203;5784](grafana/alloy#5784))
- Renamed undocumented metrics that was previously prefixed with \<component\_id>*\<metric\_name> to loki\_source\_awsfirehose*\<metric\_name>

##### Features 🌟

- **alloy-mixin:** Add filters, groupBy, and multi-select dashboard variables ([#&#8203;5611](grafana/alloy#5611)) ([3ef714e](grafana/alloy@3ef714e))
  ([@&#8203;thampiotr](https://github.com/thampiotr), [@&#8203;cursoragent](https://github.com/cursoragent))
- **beyla.ebpf:** Add support for Prometheus native histograms ([#&#8203;5812](grafana/alloy#5812)) ([7d806fb](grafana/alloy@7d806fb))
  ([@&#8203;fstab](https://github.com/fstab))
- **beyla.ebpf:** Bump Beyla to v3.6 ([#&#8203;5833](grafana/alloy#5833)) ([cd878d5](grafana/alloy@cd878d5))
  ([@&#8203;marctc](https://github.com/marctc), [@&#8203;tpaschalis](https://github.com/tpaschalis))
- **converters:** Support converting Promtail limits\_config ([#&#8203;5777](grafana/alloy#5777)) ([9491385](grafana/alloy@9491385))
  ([@&#8203;ptodev](https://github.com/ptodev))
- **database\_observability.mysql:** Add filtering of query samples and wait events by minimum duration ([#&#8203;5678](grafana/alloy#5678)) ([5a4d03b](grafana/alloy@5a4d03b))
  ([@&#8203;cristiangreco](https://github.com/cristiangreco), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **database\_observability.mysql:** Embed prometheus exporter within db-o11y component ([#&#8203;5711](grafana/alloy#5711)) ([88bffb0](grafana/alloy@88bffb0))
  ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add configurable limit to `pg_stat_statements` query ([#&#8203;5639](grafana/alloy#5639)) ([0de0a3f](grafana/alloy@0de0a3f))
  ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Embed prometheus exporter within db-o11y component ([#&#8203;5714](grafana/alloy#5714)) ([9dc2e83](grafana/alloy@9dc2e83))
  ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Add scaffolding for db-o11y integration tests ([#&#8203;5575](grafana/alloy#5575)) ([ca637d8](grafana/alloy@ca637d8))
  ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Promote components to stable ([#&#8203;5736](grafana/alloy#5736)) ([21a9af6](grafana/alloy@21a9af6))
  ([@&#8203;matthewnolf](https://github.com/matthewnolf), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- Expose Functionality to Handle syslogs with Empty MSG Field ([#&#8203;5687](grafana/alloy#5687)) ([178b1e6](grafana/alloy@178b1e6))
  ([@&#8203;blewis12](https://github.com/blewis12), [@&#8203;clayton-cornell](https://github.com/clayton-cornell), [@&#8203;x1unix](https://github.com/x1unix))
- **helm:** Allow setting `revisionHistoryLimit` in the helm chart ([#&#8203;5847](grafana/alloy#5847)) ([9713ad4](grafana/alloy@9713ad4))
  ([@&#8203;hegerdes](https://github.com/hegerdes))
- **loki.process:** Support structured metadata as source type of stage.labels for loki.process ([#&#8203;5055](grafana/alloy#5055)) ([eda3152](grafana/alloy@eda3152))
  ([@&#8203;baurmatt](https://github.com/baurmatt))
- **loki.secretfilter:** Add sampling for secretfilter entries ([#&#8203;5663](grafana/alloy#5663)) ([9997802](grafana/alloy@9997802))
  ([@&#8203;mikefat](https://github.com/mikefat), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and MaxOutstandingMessages ([#&#8203;5760](grafana/alloy#5760)) ([c2b9f0b](grafana/alloy@c2b9f0b))
  ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.write:** Add loki pipeline latency metric ([#&#8203;5702](grafana/alloy#5702)) ([cc744a1](grafana/alloy@cc744a1))
  ([@&#8203;kalleep](https://github.com/kalleep), [@&#8203;thampiotr](https://github.com/thampiotr))
- **mixin:** Update loki dashboard ([#&#8203;5848](grafana/alloy#5848)) ([b616d58](grafana/alloy@b616d58))
  ([@&#8203;kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings ([#&#8203;5776](grafana/alloy#5776)) ([0384ad4](grafana/alloy@0384ad4))
  ([@&#8203;thampiotr](https://github.com/thampiotr))
- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#&#8203;5784](grafana/alloy#5784)) ([a9b5396](grafana/alloy@a9b5396))
  ([@&#8203;kalleep](https://github.com/kalleep), [@&#8203;blewis12](https://github.com/blewis12), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default ([#&#8203;5768](grafana/alloy#5768)) ([a2f3489](grafana/alloy@a2f3489))
  ([@&#8203;x1unix](https://github.com/x1unix))
- **pyroscope.ebpf:** Add comm, pid labels and kernel frame options ([#&#8203;5769](grafana/alloy#5769)) ([4fa7068](grafana/alloy@4fa7068))
  ([@&#8203;korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to Prometheus ([#&#8203;5774](grafana/alloy#5774)) ([e713392](grafana/alloy@e713392))
  ([@&#8203;korniltsev-grafanista-yolo-vibecoder239](https://github.com/korniltsev-grafanista-yolo-vibecoder239), [@&#8203;korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope:** Copy prometheus common/config HTTP client into promhttp2 package ([#&#8203;5810](grafana/alloy#5810)) ([0b31aaa](grafana/alloy@0b31aaa))
  ([@&#8203;korniltsev-grafanista](https://github.com/korniltsev-grafanista))

##### Bug Fixes 🐛

- **beyla:** Inject Beyla version into binary via ldflags ([#&#8203;5735](grafana/alloy#5735)) ([71c03ec](grafana/alloy@71c03ec))
  ([@&#8203;pratik50](https://github.com/pratik50))
- Correctly handle the deprecated topic field in otelcol.receiver.kafka configuration ([#&#8203;5726](grafana/alloy#5726)) ([538ac75](grafana/alloy@538ac75))
  ([@&#8203;thampiotr](https://github.com/thampiotr))
- **database\_observability.mysql:** Ensure result sets are properly closed ([#&#8203;5893](grafana/alloy#5893)) ([f28f91c](grafana/alloy@f28f91c))
  ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure all collectors are properly stopped ([#&#8203;5796](grafana/alloy#5796)) ([6bfa2a7](grafana/alloy@6bfa2a7))
  ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure that `connection_info` metric is only emitted for a given DB instance when it is available ([#&#8203;5707](grafana/alloy#5707)) ([bf0c3dc](grafana/alloy@bf0c3dc))
  ([@&#8203;rgeyer](https://github.com/rgeyer))
- **database\_observability:** Solve test flakiness in MySQL and Postgres sample collectors ([#&#8203;5130](grafana/alloy#5130)) ([a7590d1](grafana/alloy@a7590d1))
  ([@&#8203;gaantunes](https://github.com/gaantunes), [@&#8203;cursoragent](https://github.com/cursoragent), [@&#8203;cristiangreco](https://github.com/cristiangreco))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#&#8203;5834](grafana/alloy#5834)) ([b2fee8a](grafana/alloy@b2fee8a))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#&#8203;5870](grafana/alloy#5870)) ([698b4e7](grafana/alloy@698b4e7))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#&#8203;5825](grafana/alloy#5825)) ([5cfbcc4](grafana/alloy@5cfbcc4))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#&#8203;5871](grafana/alloy#5871)) ([259152d](grafana/alloy@259152d))
- **deps:** Update npm dependencies ([#&#8203;5876](grafana/alloy#5876)) ([f0f6a11](grafana/alloy@f0f6a11))
- **deps:** Update npm deps across repo to address CVE-2026-26996 and  CVE-2026-22029 ([#&#8203;5872](grafana/alloy#5872)) ([df518dd](grafana/alloy@df518dd))
  ([@&#8203;jharvey10](https://github.com/jharvey10))
- **go:** Update build image to go v1.25.8 ([#&#8203;5832](grafana/alloy#5832)) ([f9b3043](grafana/alloy@f9b3043))
  ([@&#8203;kalleep](https://github.com/kalleep), [@&#8203;blewis12](https://github.com/blewis12))
- **go:** Update go to 1.25.8 ([#&#8203;5844](grafana/alloy#5844)) ([534e7db](grafana/alloy@534e7db))
  ([@&#8203;kalleep](https://github.com/kalleep))
- Helm: alloy.extraPorts not working with service.type=NodePort \[COPY] ([#&#8203;5892](grafana/alloy#5892)) ([162c6f7](grafana/alloy@162c6f7))
  ([@&#8203;blewis12](https://github.com/blewis12))
- **loki.enrich:** Use shared loki functions and fix locking ([#&#8203;5821](grafana/alloy#5821)) ([f916c72](grafana/alloy@f916c72))
  ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.process:** Multiline no longer pass empty entry if start was flushed ([#&#8203;5746](grafana/alloy#5746)) ([7bdedf1](grafana/alloy@7bdedf1))
  ([@&#8203;kalleep](https://github.com/kalleep), [@&#8203;thampiotr](https://github.com/thampiotr))
- **loki.process:** Protect against json that does not look like docker json format ([#&#8203;5761](grafana/alloy#5761)) ([0af6eaa](grafana/alloy@0af6eaa))
  ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.secretfilter:** Fix bug where entries were being shadow dropped ([#&#8203;5786](grafana/alloy#5786)) ([90243f9](grafana/alloy@90243f9))
  ([@&#8203;mikefat](https://github.com/mikefat))
- **loki.source.file:** Fix position tracking when component stops ([#&#8203;5800](grafana/alloy#5800)) ([9762946](grafana/alloy@9762946))
  ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished ([#&#8203;5723](grafana/alloy#5723)) ([fb41d0a](grafana/alloy@fb41d0a))
  ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics ([#&#8203;5713](grafana/alloy#5713)) ([e9d9b69](grafana/alloy@e9d9b69))
  ([@&#8203;kalleep](https://github.com/kalleep), [@&#8203;kgeckhart](https://github.com/kgeckhart))
- **loki.source.heroku:** Fix shutdown semantics and consume logs in batches ([#&#8203;5804](grafana/alloy#5804)) ([deda452](grafana/alloy@deda452))
  ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.write:** Remove noisy log ([#&#8203;5837](grafana/alloy#5837)) ([8e28f35](grafana/alloy@8e28f35))
  ([@&#8203;kalleep](https://github.com/kalleep))
- **loki:** Make drain forward entries with fallback timeout ([#&#8203;5830](grafana/alloy#5830)) ([cfbca90](grafana/alloy@cfbca90))
  ([@&#8203;kalleep](https://github.com/kalleep), [@&#8203;kgeckhart](https://github.com/kgeckhart))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated ([#&#8203;5787](grafana/alloy#5787)) ([dc4cb0a](grafana/alloy@dc4cb0a))
  ([@&#8203;ptodev](https://github.com/ptodev))
- **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler ([#&#8203;5904](grafana/alloy#5904)) ([dfaec47](grafana/alloy@dfaec47))
  ([@&#8203;korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- Stop components in a deterministic order ([#&#8203;5613](grafana/alloy#5613)) ([00cd371](grafana/alloy@00cd371))
  ([@&#8203;kalleep](https://github.com/kalleep), [@&#8203;kgeckhart](https://github.com/kgeckhart))

##### Chores

- Use shared source structures for aws firehose  ([#&#8203;5739](grafana/alloy#5739)) ([aef19dc](grafana/alloy@aef19dc)) ([@&#8203;kalleep](https://github.com/kalleep))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.15/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.15/get-started/install/

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlJlbm92YXRlIEJvdCIsImF1dG9tYXRpb246Ym90LWF1dGhvcmVkIiwiZGVwZW5kZW5jeS10eXBlOjptaW5vciJdfQ==-->
renovate Bot added a commit to sdwilsh/sOS that referenced this pull request Apr 3, 2026
##### [\`v1.15.0\`](https://github.com/grafana/alloy/releases/tag/v1.15.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](https://github.com/grafana/alloy/issues/5784))
- Renamed undocumented metrics that was previously prefixed with \<component\_id>*\<metric\_name> to loki\_source\_awsfirehose*\<metric\_name>

##### Features 🌟

- **alloy-mixin:** Add filters, groupBy, and multi-select dashboard variables ([#5611](https://github.com/grafana/alloy/issues/5611)) ([3ef714e](https://github.com/grafana/alloy/commit/3ef714ea192ccba5c1536be727d81e02d4a425c1))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **beyla.ebpf:** Add support for Prometheus native histograms ([#5812](https://github.com/grafana/alloy/issues/5812)) ([7d806fb](https://github.com/grafana/alloy/commit/7d806fbf5a2b83b42d603e61fc917ddd5a4d272f))
  ([@fstab](https://github.com/fstab))
- **beyla.ebpf:** Bump Beyla to v3.6 ([#5833](https://github.com/grafana/alloy/issues/5833)) ([cd878d5](https://github.com/grafana/alloy/commit/cd878d590abe132d32d14f3b9cb5fb7f29801c7f))
  ([@marctc](https://github.com/marctc), [@tpaschalis](https://github.com/tpaschalis))
- **converters:** Support converting Promtail limits\_config ([#5777](https://github.com/grafana/alloy/issues/5777)) ([9491385](https://github.com/grafana/alloy/commit/9491385d8f695079e42aa0dd752946037b34f531))
  ([@ptodev](https://github.com/ptodev))
- **database\_observability.mysql:** Add filtering of query samples and wait events by minimum duration ([#5678](https://github.com/grafana/alloy/issues/5678)) ([5a4d03b](https://github.com/grafana/alloy/commit/5a4d03b0b3afe82bcab40ba9e50b212800c32ea1))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **database\_observability.mysql:** Embed prometheus exporter within db-o11y component ([#5711](https://github.com/grafana/alloy/issues/5711)) ([88bffb0](https://github.com/grafana/alloy/commit/88bffb0dd71d2e4bd5068048856604b6ba560f56))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add configurable limit to `pg_stat_statements` query ([#5639](https://github.com/grafana/alloy/issues/5639)) ([0de0a3f](https://github.com/grafana/alloy/commit/0de0a3f1a76c109f62921fa5b795c5f218e59cb6))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Embed prometheus exporter within db-o11y component ([#5714](https://github.com/grafana/alloy/issues/5714)) ([9dc2e83](https://github.com/grafana/alloy/commit/9dc2e834eb8cba7a13f014f65bd545d25722fbec))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Add scaffolding for db-o11y integration tests ([#5575](https://github.com/grafana/alloy/issues/5575)) ([ca637d8](https://github.com/grafana/alloy/commit/ca637d8594eefa11abf0323609a09972c03b589d))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Promote components to stable ([#5736](https://github.com/grafana/alloy/issues/5736)) ([21a9af6](https://github.com/grafana/alloy/commit/21a9af67b1ccd9c2f3cda6c1a2ff8edfe5127445))
  ([@matthewnolf](https://github.com/matthewnolf), [@clayton-cornell](https://github.com/clayton-cornell))
- Expose Functionality to Handle syslogs with Empty MSG Field ([#5687](https://github.com/grafana/alloy/issues/5687)) ([178b1e6](https://github.com/grafana/alloy/commit/178b1e642eb5da666ccc1c4d79dd78aa1a526573))
  ([@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell), [@x1unix](https://github.com/x1unix))
- **helm:** Allow setting `revisionHistoryLimit` in the helm chart ([#5847](https://github.com/grafana/alloy/issues/5847)) ([9713ad4](https://github.com/grafana/alloy/commit/9713ad4314e28b6bed4bbcee9cef5357dc58d4f4))
  ([@hegerdes](https://github.com/hegerdes))
- **loki.process:** Support structured metadata as source type of stage.labels for loki.process ([#5055](https://github.com/grafana/alloy/issues/5055)) ([eda3152](https://github.com/grafana/alloy/commit/eda315237843048856706ffbd5a3c0c278f71683))
  ([@baurmatt](https://github.com/baurmatt))
- **loki.secretfilter:** Add sampling for secretfilter entries ([#5663](https://github.com/grafana/alloy/issues/5663)) ([9997802](https://github.com/grafana/alloy/commit/9997802c5b6f2570834cf29d814a02320d02ac8b))
  ([@mikefat](https://github.com/mikefat), [@clayton-cornell](https://github.com/clayton-cornell))
- **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and MaxOutstandingMessages ([#5760](https://github.com/grafana/alloy/issues/5760)) ([c2b9f0b](https://github.com/grafana/alloy/commit/c2b9f0b5fc6287b4abb61df7f64102c28c06aaad))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Add loki pipeline latency metric ([#5702](https://github.com/grafana/alloy/issues/5702)) ([cc744a1](https://github.com/grafana/alloy/commit/cc744a1f5abbd54f8a3a0680ca23161247a9bf8b))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **mixin:** Update loki dashboard ([#5848](https://github.com/grafana/alloy/issues/5848)) ([b616d58](https://github.com/grafana/alloy/commit/b616d585605af017cabb5f1a65124ad4736a63a7))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings ([#5776](https://github.com/grafana/alloy/issues/5776)) ([0384ad4](https://github.com/grafana/alloy/commit/0384ad4bde5ee641e75ec3d27809e4929c4ecdf8))
  ([@thampiotr](https://github.com/thampiotr))
- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](https://github.com/grafana/alloy/issues/5784)) ([a9b5396](https://github.com/grafana/alloy/commit/a9b5396142bb84e97854296d093d1625c20d4410))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default ([#5768](https://github.com/grafana/alloy/issues/5768)) ([a2f3489](https://github.com/grafana/alloy/commit/a2f34892f52f3a0cfddb3a48f82e5770b77951ba))
  ([@x1unix](https://github.com/x1unix))
- **pyroscope.ebpf:** Add comm, pid labels and kernel frame options ([#5769](https://github.com/grafana/alloy/issues/5769)) ([4fa7068](https://github.com/grafana/alloy/commit/4fa706876d43684d686f35e05e942f04e0bb3ad8))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to Prometheus ([#5774](https://github.com/grafana/alloy/issues/5774)) ([e713392](https://github.com/grafana/alloy/commit/e71339232b1d0b28fdd11a2b15c2a2ceb93aafc3))
  ([@korniltsev-grafanista-yolo-vibecoder239](https://github.com/korniltsev-grafanista-yolo-vibecoder239), [@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope:** Copy prometheus common/config HTTP client into promhttp2 package ([#5810](https://github.com/grafana/alloy/issues/5810)) ([0b31aaa](https://github.com/grafana/alloy/commit/0b31aaa01c31f83e9a0146cbd1d3aa9fa21b92b7))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))

##### Bug Fixes 🐛

- **beyla:** Inject Beyla version into binary via ldflags ([#5735](https://github.com/grafana/alloy/issues/5735)) ([71c03ec](https://github.com/grafana/alloy/commit/71c03ec65f2c41d24f8d54a4c3c2673b48f6e347))
  ([@pratik50](https://github.com/pratik50))
- Correctly handle the deprecated topic field in otelcol.receiver.kafka configuration ([#5726](https://github.com/grafana/alloy/issues/5726)) ([538ac75](https://github.com/grafana/alloy/commit/538ac7507e54b046fae46eded742b4d65f4c5e30))
  ([@thampiotr](https://github.com/thampiotr))
- **database\_observability.mysql:** Ensure result sets are properly closed ([#5893](https://github.com/grafana/alloy/issues/5893)) ([f28f91c](https://github.com/grafana/alloy/commit/f28f91c33dccfd419e10544b4dd0457696841f54))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure all collectors are properly stopped ([#5796](https://github.com/grafana/alloy/issues/5796)) ([6bfa2a7](https://github.com/grafana/alloy/commit/6bfa2a7227db525fb6cfd48d55648304a76bbbc2))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure that `connection_info` metric is only emitted for a given DB instance when it is available ([#5707](https://github.com/grafana/alloy/issues/5707)) ([bf0c3dc](https://github.com/grafana/alloy/commit/bf0c3dce4c80e5d870635e656a79c42449351914))
  ([@rgeyer](https://github.com/rgeyer))
- **database\_observability:** Solve test flakiness in MySQL and Postgres sample collectors ([#5130](https://github.com/grafana/alloy/issues/5130)) ([a7590d1](https://github.com/grafana/alloy/commit/a7590d1376f64119ce9c75f318d5b120d199bb0e))
  ([@gaantunes](https://github.com/gaantunes), [@cursoragent](https://github.com/cursoragent), [@cristiangreco](https://github.com/cristiangreco))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5834](https://github.com/grafana/alloy/issues/5834)) ([b2fee8a](https://github.com/grafana/alloy/commit/b2fee8a8a40bf3259e1b9f35ac4c89d40cef92cb))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5870](https://github.com/grafana/alloy/issues/5870)) ([698b4e7](https://github.com/grafana/alloy/commit/698b4e7688b1dd3206b158efd1b4ad7006e99b82))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5825](https://github.com/grafana/alloy/issues/5825)) ([5cfbcc4](https://github.com/grafana/alloy/commit/5cfbcc430600dba25a65edc255eec8345b72e923))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5871](https://github.com/grafana/alloy/issues/5871)) ([259152d](https://github.com/grafana/alloy/commit/259152dbbffdd9e18b4760a6c4f66b569e67d5c3))
- **deps:** Update npm dependencies ([#5876](https://github.com/grafana/alloy/issues/5876)) ([f0f6a11](https://github.com/grafana/alloy/commit/f0f6a11b9455eda8c4a344d17455eceebc5a2613))
- **deps:** Update npm deps across repo to address CVE-2026-26996 and  CVE-2026-22029 ([#5872](https://github.com/grafana/alloy/issues/5872)) ([df518dd](https://github.com/grafana/alloy/commit/df518dd738ec9354c37c99bba6a434efbd5e4562))
  ([@jharvey10](https://github.com/jharvey10))
- **go:** Update build image to go v1.25.8 ([#5832](https://github.com/grafana/alloy/issues/5832)) ([f9b3043](https://github.com/grafana/alloy/commit/f9b304387fb76167d96f8cb8f719502e6c15bb7d))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12))
- **go:** Update go to 1.25.8 ([#5844](https://github.com/grafana/alloy/issues/5844)) ([534e7db](https://github.com/grafana/alloy/commit/534e7db016849392b44be851f23cd74f3ae59dcb))
  ([@kalleep](https://github.com/kalleep))
- Helm: alloy.extraPorts not working with service.type=NodePort \[COPY] ([#5892](https://github.com/grafana/alloy/issues/5892)) ([162c6f7](https://github.com/grafana/alloy/commit/162c6f711b2cc34b312ce9f6241da43805e7921f))
  ([@blewis12](https://github.com/blewis12))
- **loki.enrich:** Use shared loki functions and fix locking ([#5821](https://github.com/grafana/alloy/issues/5821)) ([f916c72](https://github.com/grafana/alloy/commit/f916c72a18eac0df7985c7d1ad9f88b8bce1ec4a))
  ([@kalleep](https://github.com/kalleep))
- **loki.process:** Multiline no longer pass empty entry if start was flushed ([#5746](https://github.com/grafana/alloy/issues/5746)) ([7bdedf1](https://github.com/grafana/alloy/commit/7bdedf1af98a125f1c6ec4f6375c4f8b1de6e72d))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **loki.process:** Protect against json that does not look like docker json format ([#5761](https://github.com/grafana/alloy/issues/5761)) ([0af6eaa](https://github.com/grafana/alloy/commit/0af6eaa238e6967b190c46666a4e21dc39076ff8))
  ([@kalleep](https://github.com/kalleep))
- **loki.secretfilter:** Fix bug where entries were being shadow dropped ([#5786](https://github.com/grafana/alloy/issues/5786)) ([90243f9](https://github.com/grafana/alloy/commit/90243f9a9e30e847d11c8b755d8a09990cb76d6d))
  ([@mikefat](https://github.com/mikefat))
- **loki.source.file:** Fix position tracking when component stops ([#5800](https://github.com/grafana/alloy/issues/5800)) ([9762946](https://github.com/grafana/alloy/commit/9762946bb836a166c4815c15a33dc53131993ed8))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished ([#5723](https://github.com/grafana/alloy/issues/5723)) ([fb41d0a](https://github.com/grafana/alloy/commit/fb41d0aedc14284533d4579a2715838b01f7e754))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics ([#5713](https://github.com/grafana/alloy/issues/5713)) ([e9d9b69](https://github.com/grafana/alloy/commit/e9d9b69b223ae5dbfa73b45485f145edbdd1a66a))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **loki.source.heroku:** Fix shutdown semantics and consume logs in batches ([#5804](https://github.com/grafana/alloy/issues/5804)) ([deda452](https://github.com/grafana/alloy/commit/deda4520fe29acaae5ad4f4a376753774b621875))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Remove noisy log ([#5837](https://github.com/grafana/alloy/issues/5837)) ([8e28f35](https://github.com/grafana/alloy/commit/8e28f353e220c619b9fa5eb2a713a031cbd4a274))
  ([@kalleep](https://github.com/kalleep))
- **loki:** Make drain forward entries with fallback timeout ([#5830](https://github.com/grafana/alloy/issues/5830)) ([cfbca90](https://github.com/grafana/alloy/commit/cfbca9003399be738d68e7e71513550e3f962bd0))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated ([#5787](https://github.com/grafana/alloy/issues/5787)) ([dc4cb0a](https://github.com/grafana/alloy/commit/dc4cb0a64aa4cbe576d897c9dcb67c4d71acbf80))
  ([@ptodev](https://github.com/ptodev))
- **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler ([#5904](https://github.com/grafana/alloy/issues/5904)) ([dfaec47](https://github.com/grafana/alloy/commit/dfaec47c4ca2d035b34e9aeb0d28da3d2b380789))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- Stop components in a deterministic order ([#5613](https://github.com/grafana/alloy/issues/5613)) ([00cd371](https://github.com/grafana/alloy/commit/00cd371e3a896093578ca23cdb71e55412f564d4))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))

##### Chores

- Use shared source structures for aws firehose  ([#5739](https://github.com/grafana/alloy/issues/5739)) ([aef19dc](https://github.com/grafana/alloy/commit/aef19dccc245d6f92acd7228023117485c349070)) ([@kalleep](https://github.com/kalleep))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.15/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.15/get-started/install/

---
##### [\`v1.14.2\`](https://github.com/grafana/alloy/releases/tag/v1.14.2)

##### Bug Fixes 🐛

- **deps:** Update go version to 1.25.8 ([#5846](https://github.com/grafana/alloy/issues/5846)) ([b9add52](https://github.com/grafana/alloy/commit/b9add528fe215cdc27e006a726d4d7694ff71976))
  ([@blewis12](https://github.com/blewis12))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] \[backport] ([#5841](https://github.com/grafana/alloy/issues/5841)) ([33a64c5](https://github.com/grafana/alloy/commit/33a64c5e956973bbc72fbf5ee05c17c9619c7d79))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] \[backport] ([#5842](https://github.com/grafana/alloy/issues/5842)) ([be8150a](https://github.com/grafana/alloy/commit/be8150a9d29a92eb0bcd900fb1e172147f0505ff))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.14/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.14/get-started/install/

---
##### [\`v1.14.1\`](https://github.com/grafana/alloy/releases/tag/v1.14.1)

##### Bug Fixes 🐛

- Correctly handle the deprecated topic field in otelcol.receiver.kafka configuration \[backport] ([#5730](https://github.com/grafana/alloy/issues/5730)) ([4393054](https://github.com/grafana/alloy/commit/43930547d5f63b6983716a06dbe4fbd9ea435ebc))
  ([@thampiotr](https://github.com/thampiotr))
- **deps:** Update module golang.org/x/net to v0.51.0 \[SECURITY] \[backport] ([#5690](https://github.com/grafana/alloy/issues/5690)) ([9e8616c](https://github.com/grafana/alloy/commit/9e8616c97899caacd9e63ffe265a968250644fe4))
- **loki.process:** Protect against json that does not look like docker json format \[backport] ([#5773](https://github.com/grafana/alloy/issues/5773)) ([a0f1f8a](https://github.com/grafana/alloy/commit/a0f1f8acb96d3864d30e59ba6f8f1594c672849b))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished \[backport] ([#5741](https://github.com/grafana/alloy/issues/5741)) ([4f6d548](https://github.com/grafana/alloy/commit/4f6d5488c95511e26cfcd965ed2cf51ae30a673d))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings \[backport] ([#5785](https://github.com/grafana/alloy/issues/5785)) ([6d99ab5](https://github.com/grafana/alloy/commit/6d99ab55a0c80cea9cdaf27289c68323673014c6))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated \[backport] ([#5792](https://github.com/grafana/alloy/issues/5792)) ([76d398f](https://github.com/grafana/alloy/commit/76d398f54cd23a8feff94b6479e736accbb94283)) ([@ptodev](https://github.com/ptodev))

##### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.14/release-notes/

##### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.14/get-started/install/

---
##### [\`v1.14.0\`](https://github.com/grafana/alloy/releases/tag/v1.14.0)

##### ⚠ BREAKING CHANGES

- **loki.secretfilter:** Some config options are removed entirely:
  - `partial_mask` (replaced with `redact_percent`)
  - `allowlist` (now controlled with custom gitleaks config)
  - `enable_entropy`
  - `include_generic` (now controlled with custom gitleaks config)
  - `types` (now controlled with custom gitleaks config)
- **otelcol.receiver.prometheus:** `otelcol.receiver.prometheus` no longer sets start times of OTLP metrics. Grafana Cloud and Mimir do not currently use OTLP metric start times. If you do want your metrics to have them, you can use `otelcol.processor.metric_start_time` with `strategy` set to `true_reset_point` to get the same behaviour.

##### Features 🌟

- Add automatic reconnection to database\_observability components ([#5444](https://github.com/grafana/alloy/issues/5444)) ([553f967](https://github.com/grafana/alloy/commit/553f9678c42abf63200cf0618a1e023eeebf0802))
  ([@gaantunes](https://github.com/gaantunes))
- Add limited type checking for validate command ([#5076](https://github.com/grafana/alloy/issues/5076)) ([045fb76](https://github.com/grafana/alloy/commit/045fb76d8cc4098611fbeafff68c29f7645a7e84))
  ([@kalleep](https://github.com/kalleep))
- **database\_observability.mysql:** Collect client info for query samples ([#5552](https://github.com/grafana/alloy/issues/5552)) ([257a699](https://github.com/grafana/alloy/commit/257a699984b42ae39a4edf00ce83899cce3aec88))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add exclude databases/users for `logs` collector ([#5569](https://github.com/grafana/alloy/issues/5569)) ([5dddd9b](https://github.com/grafana/alloy/commit/5dddd9b793bd673085c8a0b308c866a4123a8fc2))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Add logs collector ([#5445](https://github.com/grafana/alloy/issues/5445)) ([46d79d4](https://github.com/grafana/alloy/commit/46d79d44e41858ceb2f1d219794f4ba234f048b8))
  ([@gaantunes](https://github.com/gaantunes), [@cursoragent](https://github.com/cursoragent), [@clayton-cornell](https://github.com/clayton-cornell), [@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Allow excluding queries ran by specific users ([#5544](https://github.com/grafana/alloy/issues/5544)) ([2d0ca15](https://github.com/grafana/alloy/commit/2d0ca15624f8dc20389a5b5515bf56589623f504))
  ([@cristiangreco](https://github.com/cristiangreco))
- Deprecate prometheus.write.queue ([#5509](https://github.com/grafana/alloy/issues/5509)) ([ee0f227](https://github.com/grafana/alloy/commit/ee0f227bc5b1363de9699e65de7d6ae3fe8e33a9))
  ([@kgeckhart](https://github.com/kgeckhart), [@clayton-cornell](https://github.com/clayton-cornell))
- Introduce SeriesRefMappingStore ([#5522](https://github.com/grafana/alloy/issues/5522)) ([33ee297](https://github.com/grafana/alloy/commit/33ee297fbd7a9b5380f98eaa0a83c9d05a718a9d))
  ([@x1unix](https://github.com/x1unix), [@kgeckhart](https://github.com/kgeckhart))
- **local.file\_match, loki.source.file:** Match multiple files using doublestar `{...}` expressions ([#5470](https://github.com/grafana/alloy/issues/5470)) ([284e48f](https://github.com/grafana/alloy/commit/284e48fa72bc8d7626e225a26e23281e6e941c8e))
  ([@ptodev](https://github.com/ptodev))
- **loki.process:** Add debug metrics for CRI stage to track truncation of lines and partial line flushing ([#5399](https://github.com/grafana/alloy/issues/5399)) ([a1728f6](https://github.com/grafana/alloy/commit/a1728f642d5679e2223fce96fa4a979fd4851ae5))
  ([@ptodev](https://github.com/ptodev))
- **mixin:** Add OTel Engine Overview dashboard ([#5573](https://github.com/grafana/alloy/issues/5573)) ([df52116](https://github.com/grafana/alloy/commit/df5211648c1f1c7cb5cbaf19f0b09152f7916091))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **mixin:** Add zipped dashboards as a release artifact ([#5603](https://github.com/grafana/alloy/issues/5603)) ([4f7fe85](https://github.com/grafana/alloy/commit/4f7fe85ec6859cc07725a7aa1b0e9918d8a23985))
  ([@thampiotr](https://github.com/thampiotr))
- **otel:** Add receivers used in the otel k8s helm chart presets ([#5466](https://github.com/grafana/alloy/issues/5466)) ([100f6ea](https://github.com/grafana/alloy/commit/100f6ea49056688ac93c9e82d0bcb74771bea95b))
  ([@kgeckhart](https://github.com/kgeckhart), [@blewis12](https://github.com/blewis12))
- **otelcol.receiver.prometheus:** Remove requirement to run Alloy with `--stability.level=experimental` in order to translate Prometheus native histograms into OTLP exponential histograms. ([#5308](https://github.com/grafana/alloy/issues/5308)) ([237e985](https://github.com/grafana/alloy/commit/237e985451f2a89b779c0c2f24ad9fe3c611b98e))
  ([@ptodev](https://github.com/ptodev))
- **otelcol:** Expose missing tail\_sampling drop and bytes\_limiting ([6021154](https://github.com/grafana/alloy/commit/6021154d159d186e45917aa03299158939d36333))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.exporter.postgres:** Update to version `0.19.0` and expose new collectors settings  ([#4640](https://github.com/grafana/alloy/issues/4640)) ([aa01e45](https://github.com/grafana/alloy/commit/aa01e453ab1d9924192a7739ff3a0ac72f5b0b10))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.postgres:** Update to version 0.19.1 ([#5659](https://github.com/grafana/alloy/issues/5659)) ([9f4e88f](https://github.com/grafana/alloy/commit/9f4e88f6b810d60cd18872250e3d7806e85b8aad))
  ([@cristiangreco](https://github.com/cristiangreco))
- Update github exporter with github app authentication ([#5377](https://github.com/grafana/alloy/issues/5377)) ([ca741a6](https://github.com/grafana/alloy/commit/ca741a61b294ef89d2ab24e88fb2dd51065186a5))
  ([@dehaansa](https://github.com/dehaansa), [@clayton-cornell](https://github.com/clayton-cornell))
- Update grafana cadvisor fork to v0.54.1 ([#5447](https://github.com/grafana/alloy/issues/5447)) ([2a3aba0](https://github.com/grafana/alloy/commit/2a3aba0184b92c206400ef6b23d2f8f0878ef441))
  ([@dehaansa](https://github.com/dehaansa), [@blewis12](https://github.com/blewis12))
- Upgrade prometheus to version 0.309.1 ([#5479](https://github.com/grafana/alloy/issues/5479)) ([633944b](https://github.com/grafana/alloy/commit/633944b76e9ad2eef7204d3047adb063a23b7570))
  ([@jharvey10](https://github.com/jharvey10))

##### Bug Fixes 🐛

- Add /FORCEREGISTRY flag to windows installer ([#5517](https://github.com/grafana/alloy/issues/5517)) ([6b22d4e](https://github.com/grafana/alloy/commit/6b22d4e7b86b4ad5f98546b4e50064452defa9ef))
  ([@kalleep](https://github.com/kalleep), [@clayton-cornell](https://github.com/clayton-cornell))
- Add missing otelcol alias to make OTel Engine work with OTel Collector helm chart ([#5473](https://github.com/grafana/alloy/issues/5473)) ([90478cd](https://github.com/grafana/alloy/commit/90478cdeb12f0c6d20d72b34b95fec4ae64fbf6a))
  ([@thampiotr](https://github.com/thampiotr))
- **controller:** Prevent duplicate loaders from being created ([#5446](https://github.com/grafana/alloy/issues/5446)) ([31d5eea](https://github.com/grafana/alloy/commit/31d5eea269b5a9c5ac1c789856cb6d247962e75a))
  ([@kgeckhart](https://github.com/kgeckhart))
- **database\_observability.mysql:** Skip wait events with `NULL` timer\_wait ([#5478](https://github.com/grafana/alloy/issues/5478)) ([48750e5](https://github.com/grafana/alloy/commit/48750e5848b5bcae2f87807ffd02b46249c0aebc))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Correctly handle table name casing when parsing postgres queries ([#5440](https://github.com/grafana/alloy/issues/5440)) ([7cca2b9](https://github.com/grafana/alloy/commit/7cca2b93037a4f8f15fb64ac43bde2a4f79fa5cd))
  ([@cristiangreco](https://github.com/cristiangreco))
- **deps:** Update module github.com/go-git/go-git/v5 to v5.16.5 \[SECURITY] ([#5485](https://github.com/grafana/alloy/issues/5485)) ([71a1b8b](https://github.com/grafana/alloy/commit/71a1b8ba28d59ca2ff01fef5d44cffb4f054c66d))
- Ensure Valid/Clear States in Alloy Engine Extension ([#5551](https://github.com/grafana/alloy/issues/5551)) ([99ad024](https://github.com/grafana/alloy/commit/99ad0242853f6cce1c1439f341e141a77b760dc1))
  ([@blewis12](https://github.com/blewis12))
- Expose missing `otelcol.processor.tail_sampling` options ([#5606](https://github.com/grafana/alloy/issues/5606)) ([6021154](https://github.com/grafana/alloy/commit/6021154d159d186e45917aa03299158939d36333))
  ([@thampiotr](https://github.com/thampiotr))
- **loki.process:** Registration of stage.metric when used inside stage.match ([#5460](https://github.com/grafana/alloy/issues/5460)) ([81caf72](https://github.com/grafana/alloy/commit/81caf72c3d9b3d62c5874aed59e3288a90689021))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.docker:** Parse timestamp correctly when log line only contains newline ([#5489](https://github.com/grafana/alloy/issues/5489)) ([162011d](https://github.com/grafana/alloy/commit/162011dbaf1fa06932d4c435f913271a571e2008))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Close file if we cannot find encoding ([#5528](https://github.com/grafana/alloy/issues/5528)) ([56bcb26](https://github.com/grafana/alloy/commit/56bcb2664c0c7f21523a985ba664a2fe2014a2e7))
  ([@kalleep](https://github.com/kalleep))
- **mixin:** Support OTel exporter batching ([#5618](https://github.com/grafana/alloy/issues/5618)) ([f2b7cb8](https://github.com/grafana/alloy/commit/f2b7cb8f7285cf4cb4777c0acd2b653483efe2d6))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.echo:** Return zero for SeriesRef ([#5622](https://github.com/grafana/alloy/issues/5622)) ([31a8680](https://github.com/grafana/alloy/commit/31a86805cd1f0154edc96545ecc60ba5a13cdcb3))
  ([@kgeckhart](https://github.com/kgeckhart))
- **prometheus.exporter.cloudwatch:** Respect debug flag ([#5469](https://github.com/grafana/alloy/issues/5469)) ([44ade00](https://github.com/grafana/alloy/commit/44ade003e16de4559609ad7379dd85dfbf8df3be))
  ([@holgerjh](https://github.com/holgerjh))
- **prometheus.receive\_http:** Bump prometheus patch for bugfix ([#5505](https://github.com/grafana/alloy/issues/5505)) ([b7a1d05](https://github.com/grafana/alloy/commit/b7a1d056cc2213e89484f8bcacca0409e11264e6))
  ([@kgeckhart](https://github.com/kgeckhart))
- **prometheus.remote\_write:** Fix sent\_batch\_duration\_seconds measuring before the request was sent \[backport] ([#5698](https://github.com/grafana/alloy/issues/5698)) ([150aecb](https://github.com/grafana/alloy/commit/150aecb11e8a1072c56c55330bf315335949f4e3))
  ([@kgeckhart](https://github.com/kgeckhart))
- Use read-write mutex locks to prevent concurrent tagsCache map reads and writes ([#5534](https://github.com/grafana/alloy/issues/5534)) ([8efed2e](https://github.com/grafana/alloy/commit/8efed2e6a21dc9680b32da2d11b8ee8776c4a3db))
  ([@bennettatoms](https://github.com/bennettatoms))

##### Performance

- **loki.secretfilter:** Change secretfilter implementation to use Gitleaks ([#5503](https://github.com/grafana/alloy/issues/5503)) ([08e265c](https://github.com/grafana/alloy/commit/08e265cca7fa6a37cb1a3938ebbdec48ba73e0b6)) ([@kleimkuhler](https://github.com/kleimkuhler))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.14/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.14/get-started/install/

---
##### [\`v1.13.2\`](https://github.com/grafana/alloy/releases/tag/v1.13.2)

##### Bug Fixes 🐛

- Expose missing `otelcol.processor.tail_sampling` options \[backport] ([#5614](https://github.com/grafana/alloy/issues/5614)) ([3225ea3](https://github.com/grafana/alloy/commit/3225ea38da1cbf31f065cc5da0b1ee0645eefa15)) ([@thampiotr](https://github.com/thampiotr))
- **mixin:** Add zipped dashboards as a release artifact \[backport] ([#5625](https://github.com/grafana/alloy/issues/5625)) ([37ff20f](https://github.com/grafana/alloy/commit/37ff20fd3074869adc57420d7f88a6c9386898d6)) ([@thampiotr](https://github.com/thampiotr))
- **profiler:** Backport Go 1.26 gopclntab textStart fix ([#5572](https://github.com/grafana/alloy/issues/5572)) ([5ca05c9](https://github.com/grafana/alloy/commit/5ca05c9d69ebb3ef3b4f9cfce5585a90e4d4432c)) ([@marcsanmi](https://github.com/marcsanmi))
- **prometheus.exporter.postgres:** Update version of the exporter fork to fix pg\_settings ([#5574](https://github.com/grafana/alloy/issues/5574)) ([62a52f8](https://github.com/grafana/alloy/commit/62a52f8537cd15c9cf1a329c4c35f32f86316740)) ([@cristiangreco](https://github.com/cristiangreco))
- **pyroscope.ebpf:** Backport dotnet nibble map fix ([#5553](https://github.com/grafana/alloy/issues/5553)) ([6c62760](https://github.com/grafana/alloy/commit/6c62760e6121b1f2c6c75276f7ee6f7f7055bd5e)) ([@marcsanmi](https://github.com/marcsanmi))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.13/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.13/get-started/install/

---
##### [\`v1.13.1\`](https://github.com/grafana/alloy/releases/tag/v1.13.1)

##### Bug Fixes 🐛

- **database\_observability.mysql:** Make query sample text nullable in MySQL query details collector \[backport] ([#5519](https://github.com/grafana/alloy/issues/5519)) ([fc49bfe](https://github.com/grafana/alloy/commit/fc49bfe172aaed8a9ef5ee8bce7e639e59f432fb)) ([@fridgepoet](https://github.com/fridgepoet))
- **database\_observability.mysql:** Skip wait events with `NULL` timer\_wait \[backport] ([#5521](https://github.com/grafana/alloy/issues/5521)) ([2f43c91](https://github.com/grafana/alloy/commit/2f43c9123ef8ad75af72bd7c85dc3d08b4034ed1)) ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Improvements to SET search\_path for postgres explain plans \[backport] ([#5520](https://github.com/grafana/alloy/issues/5520)) ([ecbb577](https://github.com/grafana/alloy/commit/ecbb577fce3ca5061294aae74406e98f5f2a464a)) ([@rgeyer](https://github.com/rgeyer))
- **loki.process:** Registration of stage.metric when used inside stage.match \[backport] ([#5495](https://github.com/grafana/alloy/issues/5495)) ([2bbc37e](https://github.com/grafana/alloy/commit/2bbc37e1c810d4c6c5655ec4204ff7e30a703d05))
- **loki.source.docker:** Parse timestamp correctly when log line only contains newline \[backport] ([#5496](https://github.com/grafana/alloy/issues/5496)) ([55a82f0](https://github.com/grafana/alloy/commit/55a82f0f634f57bbd5634e486afe276d8c176e51)) ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Close file if we cannot find encoding \[backport] ([#5531](https://github.com/grafana/alloy/issues/5531)) ([ccda4a5](https://github.com/grafana/alloy/commit/ccda4a50c38e230b2ed9caff718a8487da2b3f73)) ([@kalleep](https://github.com/kalleep))
- **prometheus.receive\_http:** Bump prometheus patch for bugfix \[backport] ([#5516](https://github.com/grafana/alloy/issues/5516)) ([b3531fb](https://github.com/grafana/alloy/commit/b3531fb8730256eac7f34c877fa6cf73c5a8a60b)) ([@kgeckhart](https://github.com/kgeckhart))
- **scheduling:** Shutdown runnables with a timeout before starting new ones \[backport] ([#5443](https://github.com/grafana/alloy/issues/5443)) ([d446610](https://github.com/grafana/alloy/commit/d44661062d11711e9dae216fa98aaad61f027c30)) ([@kgeckhart](https://github.com/kgeckhart))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.13/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.13/get-started/install/

---
##### [\`v1.13.0\`](https://github.com/grafana/alloy/blob/HEAD/CHANGELOG.md#1130-2026-02-05)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.142.0
- **otelcol.receiver.kafka:** The global `topic` attribute has been deleted; use the `topics` attributes inside the `logs`, `metrics`, and `traces` blocks instead.
- `otelcol.exporter` > `sending_queue` > `batch` > `min_size` changed from `8192` to `2000` and `max_size` changed from `0` to `3000`

##### Features 🌟

- Add a `virtual_node_peer_attributes` and `virtual_node_extra_label` arguments to `otelcol.connector.servicegraph` ([#5058](https://github.com/grafana/alloy/issues/5058)) ([20900c6](https://github.com/grafana/alloy/commit/20900c6cc1c60800b60313c68c6a81834c4adab3))
- Add an `otelcol.processor.metric_start_time` component ([#5342](https://github.com/grafana/alloy/issues/5342)) ([3fb13ac](https://github.com/grafana/alloy/commit/3fb13ac2809176a043e6021d938479300ba69e77))
- Add job level `period`, `length`, and `add_cloudwatch_timestamp` options and labels\_snake\_case to CW exporter \[backport] ([#5355](https://github.com/grafana/alloy/issues/5355)) ([60d73b7](https://github.com/grafana/alloy/commit/60d73b7813f2fe1e3c9b2e57e4a84d3be5f310c4))
- Add missing configuration parameter `deployment_name_from_replicaset` to k8sattributes processor ([#5183](https://github.com/grafana/alloy/issues/5183)) ([b54ca77](https://github.com/grafana/alloy/commit/b54ca777eed56cbbd7f76ed84e71f7b7174747c5))
- Add parcas symbols upload to pyroscope.ebpf ([#4948](https://github.com/grafana/alloy/issues/4948)) ([30f2242](https://github.com/grafana/alloy/commit/30f2242ca15b9888150f77968f8f5854f1fd37cb))
- Add sharding for loki.write ([#4882](https://github.com/grafana/alloy/issues/4882)) ([7570d65](https://github.com/grafana/alloy/commit/7570d656498501c8777f7e970108795f7bbf4173))
- Add unexposed otel engine and extension to codebase and change build structure ([#5114](https://github.com/grafana/alloy/issues/5114)) ([6438176](https://github.com/grafana/alloy/commit/6438176d0451b2ba17feb553eb24f2efeb079310))
- **beyla.ebpf:** Add meta\_cache\_address to beyla.ebpf.attributes.kubernetes ([#4871](https://github.com/grafana/alloy/issues/4871)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **beyla.ebpf:** Upgrade Beyla to v2.8.5 ([f1f457f](https://github.com/grafana/alloy/commit/f1f457fa110e97623228426ee36479558a6397d4))
- Change the defaults for `sending_queue` > `batch` block inside `otelcol.exporter` components ([#5061](https://github.com/grafana/alloy/issues/5061)) ([714a2ed](https://github.com/grafana/alloy/commit/714a2ed6c57b3aa7172b8da194caf1fe8a724680))
- **cluster:** Support DNS discovery mode prefixes in --cluster.join-addresses flag ([#5034](https://github.com/grafana/alloy/issues/5034)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **converter:** Update promtail converter to use file\_match block for loki.source.file ([#4791](https://github.com/grafana/alloy/issues/4791)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- Database\_observability: add health check collector for postgres component ([#5222](https://github.com/grafana/alloy/issues/5222)) ([80917b1](https://github.com/grafana/alloy/commit/80917b1bc494b22faa4ea8df20c841bfe8579a76))
- Database\_observability: expose `exclude_schemas` and `exclude_databases` settings ([#5334](https://github.com/grafana/alloy/issues/5334)) ([37656f8](https://github.com/grafana/alloy/commit/37656f894551bfd857a5aed88462f87fc5a89361))
- Database\_observability: support Azure cloud provider config data ([#5245](https://github.com/grafana/alloy/issues/5245)) ([d7a469f](https://github.com/grafana/alloy/commit/d7a469fe41c26fd9ddb220bb512b1e942dfae48f))
- Database\_observability: support Azure privatelink db name ([#5260](https://github.com/grafana/alloy/issues/5260)) ([22e4991](https://github.com/grafana/alloy/commit/22e4991e4d21728bb22ab513d513dfc6840311b1))
- Database\_observability.mysql: support excluding schemas in all collectors \[backport] ([#5380](https://github.com/grafana/alloy/issues/5380)) ([d67268c](https://github.com/grafana/alloy/commit/d67268c7d3013015bb67babddd252a3a955deb01))
- Database\_observability.postgres: support excluding DBs in all collectors \[backport] ([#5383](https://github.com/grafana/alloy/issues/5383)) ([165492c](https://github.com/grafana/alloy/commit/165492c8b2cd63d73179111f02cddf3d6d567f90))
- **database\_observability:** Add health\_check collector to validate configuration ([#5115](https://github.com/grafana/alloy/issues/5115)) ([6d96740](https://github.com/grafana/alloy/commit/6d96740f7b758ce8ffa1872108ffacdbda99b276))
- **database\_observability:** Always send explain plan log for each query including status ([#4969](https://github.com/grafana/alloy/issues/4969)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **database\_observability:** Append cloud provider information labels to metrics ([#4942](https://github.com/grafana/alloy/issues/4942)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **database\_observability:** Stop tracking own instrumentation queries ([#4991](https://github.com/grafana/alloy/issues/4991)) ([0b55557](https://github.com/grafana/alloy/commit/0b55557657fa3e9f1a3463444c372b6fdde4bcf2))
- **deps:** Update Prometheus to v3.8.0 and Loki to v3.6.2 ([#5035](https://github.com/grafana/alloy/issues/5035)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- Expose otel subcommand and add user-facing documentation ([#5244](https://github.com/grafana/alloy/issues/5244)) ([93f20b8](https://github.com/grafana/alloy/commit/93f20b83c247c6e9444444644c59278d0015e330))
- Improve faro.receiver.sourcemaps caching strategy ([#4337](https://github.com/grafana/alloy/issues/4337)) ([41e655c](https://github.com/grafana/alloy/commit/41e655c75da5f78645d617ab34b778a1db7479e3))
- **loki.process:** Mark stage.windowsevent as GA ([#4879](https://github.com/grafana/alloy/issues/4879)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **loki.source.file:** Refactor tailer to reduce resource usage ([#5003](https://github.com/grafana/alloy/issues/5003)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **loki.source.syslog:** Implement livedebugging support ([#5216](https://github.com/grafana/alloy/issues/5216)) ([e26badb](https://github.com/grafana/alloy/commit/e26badb1bb22d0dbe418bffe2e14e3b2dfc0eb08))
- **loki.source.syslog:** Support cisco-specific syslog fields ([#5165](https://github.com/grafana/alloy/issues/5165)) ([3230ba0](https://github.com/grafana/alloy/commit/3230ba0560991c28e267e0f27c5f6ac3a2be5242))
- **loki.source.syslog:** Support raw format ([#5140](https://github.com/grafana/alloy/issues/5140)) ([923d127](https://github.com/grafana/alloy/commit/923d127c50949f88a37ac808154240de0649df09))
- **mimir.alerts.kubernetes:** Add `alertmanagerconfig_matcher` block to change the matcher strategy ([f2b9671](https://github.com/grafana/alloy/commit/f2b9671603375b2f42c81fa6195b994c3436bfec))
- **mimir.alerts.kubernetes:** Add component to discover AlertmanagerConfig Kubernetes resources ([#3448](https://github.com/grafana/alloy/issues/3448)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **mixin:** Provide rendered mixin outputs ([#5118](https://github.com/grafana/alloy/issues/5118)) ([738b9fb](https://github.com/grafana/alloy/commit/738b9fb4e99595d5d202db9dbc89f71e95402ce0))
- **otelcol.auth.basic:** Add htpasswd file based authentication ([#3916](https://github.com/grafana/alloy/issues/3916)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **otelcol.connector.count:** Add component to count spans, metrics, and logs ([#4913](https://github.com/grafana/alloy/issues/4913)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **otelcol.exporter.file:** Add `otelcol.exporter.file` component to write metrics, logs, and traces to disk with optional rotation, compression, and grouping by resource attribute ([#4475](https://github.com/grafana/alloy/issues/4475)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **otelcol.exporter.prometheus:** Add `honor_metadata` config argument \[backport] ([#5439](https://github.com/grafana/alloy/issues/5439)) ([32cb175](https://github.com/grafana/alloy/commit/32cb175fca3bf00250fdc2508a92024d2ac847ba))
- **otelcol.receiver.awss3:** Add experimental receiver for traces stored in S3 ([#4928](https://github.com/grafana/alloy/issues/4928)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **otelcol.receiver.kafka:** Deprecate the `topic` attribute inside the `logs`, `metrics`, and `traces` blocks in favour of a new `topics` attribute. ([f1f457f](https://github.com/grafana/alloy/commit/f1f457fa110e97623228426ee36479558a6397d4))
- **otelcol.receiver.kafka:** Remove the global `topic` attribute ([f1f457f](https://github.com/grafana/alloy/commit/f1f457fa110e97623228426ee36479558a6397d4))
- **otelcol:** Upgrade to OTel Collector v0.142.0 ([f1f457f](https://github.com/grafana/alloy/commit/f1f457fa110e97623228426ee36479558a6397d4))
- **prometheus.echo:** Add component for local metrics inspection in exposition format ([#4105](https://github.com/grafana/alloy/issues/4105)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **prometheus.exporter.cloudwatch:** Add delay option to account for CloudWatch ingestion latency ([#4936](https://github.com/grafana/alloy/issues/4936)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **prometheus.exporter.databricks:** Add Databricks exporter component ([#5054](https://github.com/grafana/alloy/issues/5054)) ([4442836](https://github.com/grafana/alloy/commit/44428361a210476c2fa89c4dbfd447a091391488))
- **prometheus.operator.scrapeconfigs:** Add HTTP service discovery support via httpSDConfigs ([#4826](https://github.com/grafana/alloy/issues/4826)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **prometheus.remote\_write:** Add metadata support to `prometheus.remote_write` component, but only if Remote Write v2 has been configured. In order for `prometheus.remote_write` to receive metadata, `prometheus.scrape` must be configured with `honor_metadata = true`. ([#5045](https://github.com/grafana/alloy/issues/5045)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **prometheus:** Reduce resource overhead by removing unnecessary labelstore usage ([#4890](https://github.com/grafana/alloy/issues/4890)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **pyroscope.ebpf:** Add `lazy_mode` argument to the `pyroscope.ebpf` to defer eBPF profiler startup until there are targets to profile ([#4824](https://github.com/grafana/alloy/issues/4824)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **pyroscope.enrich:** Add experimental component to enrich profiles using discovery labels ([#4797](https://github.com/grafana/alloy/issues/4797)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- Strip comments from normalized sql text in `database_observability.postgres` ([#5005](https://github.com/grafana/alloy/issues/5005)) ([a58721a](https://github.com/grafana/alloy/commit/a58721a0aa8e076fc66508f22e3f8317cee933d1))
- Support setting default scrape limit for prometheus.operator components ([#5280](https://github.com/grafana/alloy/issues/5280)) ([40ffe08](https://github.com/grafana/alloy/commit/40ffe08377bebbbf8550b07b144c7180c54cb3cb))
- **tracing:** Add send\_traceparent option to enable traceparent header propagation ([#4874](https://github.com/grafana/alloy/issues/4874)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))

##### Bug Fixes 🐛

- Add support for compressed files for tail package \[backport] ([#5415](https://github.com/grafana/alloy/issues/5415)) ([311662f](https://github.com/grafana/alloy/commit/311662f5a163d4ec6b2f75fcd725fde980a421ac))
- Allow loki.source.file to read renaming lines of a deleted file before it tries to re open a new one  ([#5270](https://github.com/grafana/alloy/issues/5270)) ([f8b1de8](https://github.com/grafana/alloy/commit/f8b1de892a8235edbf098131f8dc58c388f1d961))
- Compute signatures from files so that loki.source.file can handle atomic writes ([#5143](https://github.com/grafana/alloy/issues/5143)) ([3090c4a](https://github.com/grafana/alloy/commit/3090c4a141430444864f6f5c1476265a14ed212c))
- **converter:** Fix promtail converter to limit Kubernetes discovery to same node ([#5046](https://github.com/grafana/alloy/issues/5046)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- Database\_observability: add Azure provider relabeling rules \[backport] ([#5382](https://github.com/grafana/alloy/issues/5382)) ([c121178](https://github.com/grafana/alloy/commit/c12117889fbad3de21962111b18c55327536e34a))
- Database\_observability: allow setting limit for mysql query\_details ([#5314](https://github.com/grafana/alloy/issues/5314)) ([085f300](https://github.com/grafana/alloy/commit/085f300442915b85bde472bd0e5c410b9ee66ed3))
- Database\_observability: fix race in postgres query samples test ([#5315](https://github.com/grafana/alloy/issues/5315)) ([4f01753](https://github.com/grafana/alloy/commit/4f01753b6e393e64b4969ea77f5d72186db5c60e))
- Database\_observability: grant check only require SELECT *.* on perf\_schema ([#5294](https://github.com/grafana/alloy/issues/5294)) ([490017c](https://github.com/grafana/alloy/commit/490017cdd16eebdb586f177d13c25d40ac796f8e))
- Database\_observability: reuse cloud provider regexes ([#5262](https://github.com/grafana/alloy/issues/5262)) ([6009c54](https://github.com/grafana/alloy/commit/6009c547c54defc54aed630f64c3f0fda8d75223))
- Database\_observability: update BackendXID type to int64 to better map to PG xid \[backport] ([#5373](https://github.com/grafana/alloy/issues/5373)) ([1cb4b0f](https://github.com/grafana/alloy/commit/1cb4b0fc67a2c6b15439dce1c0e93ca3465afd0f))
- Database\_observability: update BackendXmin type to int64 to better map to PG BIGINT ([#5296](https://github.com/grafana/alloy/issues/5296)) ([d45ccc0](https://github.com/grafana/alloy/commit/d45ccc0f63d630c30a24a21a80ff6789b458edba))
- **database\_observability.mysql:** Add setup\_actors collector to avoid tracking own queries ([#4978](https://github.com/grafana/alloy/issues/4978)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **database\_observability.mysql:** Replace server\_id label with hash from server\_uuid and hostname ([#4943](https://github.com/grafana/alloy/issues/4943)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **database\_observability.postgres:** Fix schema\_details collection for mixed case table names ([#4872](https://github.com/grafana/alloy/issues/4872)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **database\_observability:** Improve postgres version parsing for explain plans in database\_observability component ([#5131](https://github.com/grafana/alloy/issues/5131)) ([23c7f37](https://github.com/grafana/alloy/commit/23c7f37afc25dabe267bb60d8b0ee0473f073e5b))
- **database\_observability:** Skip explain plans which lookup individual records and return no rows ([#5203](https://github.com/grafana/alloy/issues/5203)) ([b7c7cbb](https://github.com/grafana/alloy/commit/b7c7cbbf0a9542af8b89592b2ff011df8a2a362e))
- **deps:** Update npm dependencies ([#5190](https://github.com/grafana/alloy/issues/5190)) ([cd027e2](https://github.com/grafana/alloy/commit/cd027e2f23f2e6649154f46ab953ac840c956d3a))
- **docker:** Fix log corruption for multiplexed long lines ([#4713](https://github.com/grafana/alloy/issues/4713)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- Ensure the squid exporter wrapper properly brackets ipv6 addresses ([#5199](https://github.com/grafana/alloy/issues/5199)) ([ee23162](https://github.com/grafana/alloy/commit/ee2316252e6e0ee901b0ff57c55d6d07750d14ab))
- Guard pyroscope otel profiler code with unix go build tag \[backport] ([#5360](https://github.com/grafana/alloy/issues/5360)) ([b1ecdb6](https://github.com/grafana/alloy/commit/b1ecdb6736d5f41923e4b54e54b23fb6d59e1e32))
- HTTP/2 is no longer always disabled in loki.write ([#5267](https://github.com/grafana/alloy/issues/5267)) ([1c97c2d](https://github.com/grafana/alloy/commit/1c97c2d569fcda2f6761534150b063d1404dc388))
- Invalid handling of `id` in `foreach` when using discovery components ([#5322](https://github.com/grafana/alloy/issues/5322)) ([61fe184](https://github.com/grafana/alloy/commit/61fe1845d3b109992cbb0ec99a062ac113c1a411)), closes [#5297](https://github.com/grafana/alloy/issues/5297)
- Issues when reading files using non UTF-8 encoding in loki.source.file  ([#5259](https://github.com/grafana/alloy/issues/5259)) ([4740276](https://github.com/grafana/alloy/commit/4740276083121e5b1fac8e4ea0bedba96e4190e5))
- **loki.process:** Implement encoding.TextMarshaler and encoding.TextUnmarshaler for TruncateSourceType \[backport] ([#5428](https://github.com/grafana/alloy/issues/5428)) ([3585393](https://github.com/grafana/alloy/commit/3585393d187432a4cf75fe59ad89906568e7b2eb))
- **loki.process:** Remove extraneous output stage from cri stage pipeline ([#5002](https://github.com/grafana/alloy/issues/5002)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **loki.source.api:** Prevent dropping request when relabel rules drop a specific stream. ([#4834](https://github.com/grafana/alloy/issues/4834)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **loki.source.file:** Make sure position is recorded when component exit \[backport] ([#5418](https://github.com/grafana/alloy/issues/5418)) ([64fb278](https://github.com/grafana/alloy/commit/64fb278cec9b20b935f951b7a96144d8482efc6c))
- **loki.source.file:** Update `tail_from_end` to properly handle file encoding \[backport] ([#5436](https://github.com/grafana/alloy/issues/5436)) ([731e8e5](https://github.com/grafana/alloy/commit/731e8e596d3baa5f0980103a93247fba23572f54))
- **mimir.alerts.kubernetes:** Fix crash when using Kubernetes secret or configmap in AlertmanagerConfig ([#5010](https://github.com/grafana/alloy/issues/5010)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **mixin:** Correct invalid queries in alloy logs dashboard  ([#5123](https://github.com/grafana/alloy/issues/5123)) ([ad8efd3](https://github.com/grafana/alloy/commit/ad8efd3511d3a64b9cd7aeb5d6c566b061c29918))
- Only alert on cluster drift when cluster\_name is set ([#5181](https://github.com/grafana/alloy/issues/5181)) ([8b6f056](https://github.com/grafana/alloy/commit/8b6f056e39f0348f5c7121e938d86d15a04a5e99))
- **otelcol:** Allow configuration of force\_attempt\_http2 and default to true ([#5050](https://github.com/grafana/alloy/issues/5050)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- Perform drain when file is deleted in tail package ([#5139](https://github.com/grafana/alloy/issues/5139)) ([2e48867](https://github.com/grafana/alloy/commit/2e48867c639c5170c547443f16227133d6c6f604))
- Preserve meta labels in loki.source.podlogs ([#5097](https://github.com/grafana/alloy/issues/5097)) ([23d787c](https://github.com/grafana/alloy/commit/23d787c5c607a077dbb28dd382e6543aeee115fe))
- Prevent panic in import.git when update fails ([#5198](https://github.com/grafana/alloy/issues/5198)) ([577a591](https://github.com/grafana/alloy/commit/577a591537aeae7dfd3758c30dc2980af622a415))
- **prometheus.exporter.gcp:** Preserve colons in extra\_filters filter expressions ([#5018](https://github.com/grafana/alloy/issues/5018)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **prometheus.operator:** Enable native histogram ingestion in internal scrape manager ([#4750](https://github.com/grafana/alloy/issues/4750)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- **relabel:** Fix default values for source\_labels to prevent labeldrop issues ([#5059](https://github.com/grafana/alloy/issues/5059)) ([08796f8](https://github.com/grafana/alloy/commit/08796f80fbc0cde6f278ed0a1022b3aced36e036))
- Remove Parca debug info upload from user configuration \[backport] ([#5395](https://github.com/grafana/alloy/issues/5395)) ([58eb9cc](https://github.com/grafana/alloy/commit/58eb9cc3ed79bc4a84c59623adca43f10f0bfceb))
- Revert doublestar v4 update \[backport] ([#5435](https://github.com/grafana/alloy/issues/5435)) ([0e9e615](https://github.com/grafana/alloy/commit/0e9e615c26bb2ca2aef526259147e9f9b2f219fe))
- Set content-encoding header in loki.write ([#5346](https://github.com/grafana/alloy/issues/5346)) ([ffd2bea](https://github.com/grafana/alloy/commit/ffd2bea7de35ae8599625b924dced7a3144e34c2))
- Show correct fallback alloy version instead of v1.13.0 ([#5110](https://github.com/grafana/alloy/issues/5110)) ([e2e96e9](https://github.com/grafana/alloy/commit/e2e96e95ff0dab600befbe63165e10eea096b968))
- Update to use doublestar v4 ([#5148](https://github.com/grafana/alloy/issues/5148)) ([d8f0b3e](https://github.com/grafana/alloy/commit/d8f0b3e9b5a8c8e842e0bc09adc059fd56c71165))

---
##### [\`v1.12.2\`](https://github.com/grafana/alloy/releases/tag/v1.12.2)

##### Bug Fixes 🐛

- Add missing configuration parameter `deployment_name_from_replicaset` to k8sattributes processor ([5b90a9d](https://github.com/grafana/alloy/commit/5b90a9d391d222eb9c8ea1e40e38a9dbbbd06ffd)) ([@dehaansa](https://github.com/dehaansa))
- **database\_observability:** Fix schema\_details collector to fetch column definitions with case sensitive table names ([#4872](https://github.com/grafana/alloy/issues/4872)) ([560dff4](https://github.com/grafana/alloy/commit/560dff4ccef090e2db85ef6dd9e59aeacf54e3f2)) ([@jharvey10](https://github.com/jharvey10), [@fridgepoet](https://github.com/fridgepoet))
- **deps:** Update jose2go to 1.7.0 ([#4858](https://github.com/grafana/alloy/issues/4858)) ([dfdd341](https://github.com/grafana/alloy/commit/dfdd341c8da5e7b972905d166a497e3093323be2)) ([@jharvey10](https://github.com/jharvey10))
- **deps:** Update npm dependencies \[backport] ([#5201](https://github.com/grafana/alloy/issues/5201)) ([8e06c26](https://github.com/grafana/alloy/commit/8e06c2673c0f5790eba84e9f7091270b3ab0bf2d)) ([@jharvey10](https://github.com/jharvey10))
- Ensure the squid exporter wrapper properly brackets ipv6 addresses \[backport] ([#5205](https://github.com/grafana/alloy/issues/5205)) ([e329cc6](https://github.com/grafana/alloy/commit/e329cc6ebdfd7fb52034b5f215082e2fac9640f6)) ([@dehaansa](https://github.com/dehaansa))
- Preserve meta labels in loki.source.podlogs ([#5097](https://github.com/grafana/alloy/issues/5097)) ([ab4b21e](https://github.com/grafana/alloy/commit/ab4b21ec0c8b4e892ffa39035c6a53149ee05555)) ([@kalleep](https://github.com/kalleep))
- Prevent panic in import.git when update fails \[backport] ([#5204](https://github.com/grafana/alloy/issues/5204)) ([c82fbae](https://github.com/grafana/alloy/commit/c82fbae5431dca9fe3ba071c99978babc2f9b5b1)) ([@dehaansa](https://github.com/dehaansa), [@jharvey10](https://github.com/jharvey10))
- show correct fallback alloy version instead of v1.13.0 ([#5110](https://github.com/grafana/alloy/issues/5110)) ([b72be99](https://github.com/grafana/alloy/commit/b72be995908ac761c0ea9a4f881367dc6ec6da13)) ([@dehaansa](https://github.com/dehaansa), [@jharvey10](https://github.com/jharvey10))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.12/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.12/get-started/install/
gaantunes pushed a commit that referenced this pull request Apr 3, 2026
🤖 I have created a release *beep* *boop*
---


## [1.15.0](v1.14.0...v1.15.0)
(2026-03-26)


### ⚠ BREAKING CHANGES

* **otelcol:** Upgrade to OTel Collector v0.147.0
([#5784](#5784))
* Renamed undocumented metrics that was previously prefixed with
<component_id>_<metric_name> to loki_source_awsfirehose_<metric_name>

### Features 🌟

* **alloy-mixin:** Add filters, groupBy, and multi-select dashboard
variables ([#5611](#5611))
([3ef714e](3ef714e))
* **beyla.ebpf:** Add support for Prometheus native histograms
([#5812](#5812))
([7d806fb](7d806fb))
* **beyla.ebpf:** Bump Beyla to v3.6
([#5833](#5833))
([cd878d5](cd878d5))
* **converters:** Support converting Promtail limits_config
([#5777](#5777))
([9491385](9491385))
* **database_observability.mysql:** Add filtering of query samples and
wait events by minimum duration
([#5678](#5678))
([5a4d03b](5a4d03b))
* **database_observability.mysql:** Embed prometheus exporter within
db-o11y component
([#5711](#5711))
([88bffb0](88bffb0))
* **database_observability.postgres:** Add configurable limit to
`pg_stat_statements` query
([#5639](#5639))
([0de0a3f](0de0a3f))
* **database_observability.postgres:** Embed prometheus exporter within
db-o11y component
([#5714](#5714))
([9dc2e83](9dc2e83))
* **database_observability:** Add scaffolding for db-o11y integration
tests ([#5575](#5575))
([ca637d8](ca637d8))
* **database_observability:** Promote components to stable
([#5736](#5736))
([21a9af6](21a9af6))
* Expose Functionality to Handle syslogs with Empty MSG Field
([#5687](#5687))
([178b1e6](178b1e6))
* **helm:** Allow setting `revisionHistoryLimit` in the helm chart
([#5847](#5847))
([9713ad4](9713ad4))
* **loki.process:** Support structured metadata as source type of
stage.labels for loki.process
([#5055](#5055))
([eda3152](eda3152))
* **loki.secretfilter:** Add sampling for secretfilter entries
([#5663](#5663))
([9997802](9997802))
* **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and
MaxOutstandingMessages
([#5760](#5760))
([c2b9f0b](c2b9f0b))
* **loki.write:** Add loki pipeline latency metric
([#5702](#5702))
([cc744a1](cc744a1))
* **mixin:** Update loki dashboard
([#5848](#5848))
([b616d58](b616d58))
* **otelcol.receiver.datadog:** Expose intake proxy and
trace_id_cache_size settings
([#5776](#5776))
([0384ad4](0384ad4))
* **otelcol:** Upgrade to OTel Collector v0.147.0
([#5784](#5784))
([a9b5396](a9b5396))
* **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default
([#5768](#5768))
([a2f3489](a2f3489))
* **pyroscope.ebpf:** Add comm, pid labels and kernel frame options
([#5769](#5769))
([4fa7068](4fa7068))
* **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to
Prometheus ([#5774](#5774))
([e713392](e713392))
* **pyroscope:** Copy prometheus common/config HTTP client into
promhttp2 package
([#5810](#5810))
([0b31aaa](0b31aaa))


### Bug Fixes 🐛

* **beyla:** Inject Beyla version into binary via ldflags
([#5735](#5735))
([71c03ec](71c03ec))
* Correctly handle the deprecated topic field in otelcol.receiver.kafka
configuration ([#5726](#5726))
([538ac75](538ac75))
* **database_observability.mysql:** Ensure result sets are properly
closed ([#5893](#5893))
([f28f91c](f28f91c))
* **database_observability:** Ensure all collectors are properly stopped
([#5796](#5796))
([6bfa2a7](6bfa2a7))
* **database_observability:** Ensure that `connection_info` metric is
only emitted for a given DB instance when it is available
([#5707](#5707))
([bf0c3dc](bf0c3dc))
* **database_observability:** Solve test flakiness in MySQL and Postgres
sample collectors
([#5130](#5130))
([a7590d1](a7590d1))
* **deps:** Update module github.com/buger/jsonparser to v1.1.2
[SECURITY] ([#5834](#5834))
([b2fee8a](b2fee8a))
* **deps:** Update module github.com/buger/jsonparser to v1.1.2
[SECURITY] ([#5870](#5870))
([698b4e7](698b4e7))
* **deps:** Update module google.golang.org/grpc to v1.79.3 [SECURITY]
([#5825](#5825))
([5cfbcc4](5cfbcc4))
* **deps:** Update module google.golang.org/grpc to v1.79.3 [SECURITY]
([#5871](#5871))
([259152d](259152d))
* **deps:** Update npm dependencies
([#5876](#5876))
([f0f6a11](f0f6a11))
* **deps:** Update npm deps across repo to address CVE-2026-26996 and
CVE-2026-22029 ([#5872](#5872))
([df518dd](df518dd))
* **go:** Update build image to go v1.25.8
([#5832](#5832))
([f9b3043](f9b3043))
* **go:** Update go to 1.25.8
([#5844](#5844))
([534e7db](534e7db))
* Helm: alloy.extraPorts not working with service.type=NodePort [COPY]
([#5892](#5892))
([162c6f7](162c6f7))
* **loki.enrich:** Use shared loki functions and fix locking
([#5821](#5821))
([f916c72](f916c72))
* **loki.process:** Multiline no longer pass empty entry if start was
flushed ([#5746](#5746))
([7bdedf1](7bdedf1))
* **loki.process:** Protect against json that does not look like docker
json format ([#5761](#5761))
([0af6eaa](0af6eaa))
* **loki.secretfilter:** Fix bug where entries were being shadow dropped
([#5786](#5786))
([90243f9](90243f9))
* **loki.source.file:** Fix position tracking when component stops
([#5800](#5800))
([9762946](9762946))
* **loki.source.file:** Keep positions for compressed files when reading
is finished ([#5723](#5723))
([fb41d0a](fb41d0a))
* **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics
([#5713](#5713))
([e9d9b69](e9d9b69))
* **loki.source.heroku:** Fix shutdown semantics and consume logs in
batches ([#5804](#5804))
([deda452](deda452))
* **loki.write:** Remove noisy log
([#5837](#5837))
([8e28f35](8e28f35))
* **loki:** Make drain forward entries with fallback timeout
([#5830](#5830))
([cfbca90](cfbca90))
* **prometheus.scrape:** Update arguments and targets even if
`scrape_native_histograms` and `extra_metrics` are updated
([#5787](#5787))
([dc4cb0a](dc4cb0a))
* **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler
([#5904](#5904))
([dfaec47](dfaec47))
* Stop components in a deterministic order
([#5613](#5613))
([00cd371](00cd371))


### Chores

* Use shared source structures for aws firehose
([#5739](#5739))
([aef19dc](aef19dc))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: grafana-alloybot[bot] <167359181+grafana-alloybot[bot]@users.noreply.github.com>
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Apr 8, 2026
##### [\`v1.15.0\`](https://github.com/grafana/alloy/releases/tag/v1.15.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784))
- Renamed undocumented metrics that was previously prefixed with \<component\_id>*\<metric\_name> to loki\_source\_awsfirehose*\<metric\_name>

##### Features 🌟

- **alloy-mixin:** Add filters, groupBy, and multi-select dashboard variables ([#5611](grafana/alloy#5611)) ([3ef714e](grafana/alloy@3ef714e))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **beyla.ebpf:** Add support for Prometheus native histograms ([#5812](grafana/alloy#5812)) ([7d806fb](grafana/alloy@7d806fb))
  ([@fstab](https://github.com/fstab))
- **beyla.ebpf:** Bump Beyla to v3.6 ([#5833](grafana/alloy#5833)) ([cd878d5](grafana/alloy@cd878d5))
  ([@marctc](https://github.com/marctc), [@tpaschalis](https://github.com/tpaschalis))
- **converters:** Support converting Promtail limits\_config ([#5777](grafana/alloy#5777)) ([9491385](grafana/alloy@9491385))
  ([@ptodev](https://github.com/ptodev))
- **database\_observability.mysql:** Add filtering of query samples and wait events by minimum duration ([#5678](grafana/alloy#5678)) ([5a4d03b](grafana/alloy@5a4d03b))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **database\_observability.mysql:** Embed prometheus exporter within db-o11y component ([#5711](grafana/alloy#5711)) ([88bffb0](grafana/alloy@88bffb0))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add configurable limit to `pg_stat_statements` query ([#5639](grafana/alloy#5639)) ([0de0a3f](grafana/alloy@0de0a3f))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Embed prometheus exporter within db-o11y component ([#5714](grafana/alloy#5714)) ([9dc2e83](grafana/alloy@9dc2e83))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Add scaffolding for db-o11y integration tests ([#5575](grafana/alloy#5575)) ([ca637d8](grafana/alloy@ca637d8))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Promote components to stable ([#5736](grafana/alloy#5736)) ([21a9af6](grafana/alloy@21a9af6))
  ([@matthewnolf](https://github.com/matthewnolf), [@clayton-cornell](https://github.com/clayton-cornell))
- Expose Functionality to Handle syslogs with Empty MSG Field ([#5687](grafana/alloy#5687)) ([178b1e6](grafana/alloy@178b1e6))
  ([@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell), [@x1unix](https://github.com/x1unix))
- **helm:** Allow setting `revisionHistoryLimit` in the helm chart ([#5847](grafana/alloy#5847)) ([9713ad4](grafana/alloy@9713ad4))
  ([@hegerdes](https://github.com/hegerdes))
- **loki.process:** Support structured metadata as source type of stage.labels for loki.process ([#5055](grafana/alloy#5055)) ([eda3152](grafana/alloy@eda3152))
  ([@baurmatt](https://github.com/baurmatt))
- **loki.secretfilter:** Add sampling for secretfilter entries ([#5663](grafana/alloy#5663)) ([9997802](grafana/alloy@9997802))
  ([@mikefat](https://github.com/mikefat), [@clayton-cornell](https://github.com/clayton-cornell))
- **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and MaxOutstandingMessages ([#5760](grafana/alloy#5760)) ([c2b9f0b](grafana/alloy@c2b9f0b))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Add loki pipeline latency metric ([#5702](grafana/alloy#5702)) ([cc744a1](grafana/alloy@cc744a1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **mixin:** Update loki dashboard ([#5848](grafana/alloy#5848)) ([b616d58](grafana/alloy@b616d58))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings ([#5776](grafana/alloy#5776)) ([0384ad4](grafana/alloy@0384ad4))
  ([@thampiotr](https://github.com/thampiotr))
- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784)) ([a9b5396](grafana/alloy@a9b5396))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default ([#5768](grafana/alloy#5768)) ([a2f3489](grafana/alloy@a2f3489))
  ([@x1unix](https://github.com/x1unix))
- **pyroscope.ebpf:** Add comm, pid labels and kernel frame options ([#5769](grafana/alloy#5769)) ([4fa7068](grafana/alloy@4fa7068))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to Prometheus ([#5774](grafana/alloy#5774)) ([e713392](grafana/alloy@e713392))
  ([@korniltsev-grafanista-yolo-vibecoder239](https://github.com/korniltsev-grafanista-yolo-vibecoder239), [@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope:** Copy prometheus common/config HTTP client into promhttp2 package ([#5810](grafana/alloy#5810)) ([0b31aaa](grafana/alloy@0b31aaa))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))

##### Bug Fixes 🐛

- **beyla:** Inject Beyla version into binary via ldflags ([#5735](grafana/alloy#5735)) ([71c03ec](grafana/alloy@71c03ec))
  ([@pratik50](https://github.com/pratik50))
- Correctly handle the deprecated topic field in otelcol.receiver.kafka configuration ([#5726](grafana/alloy#5726)) ([538ac75](grafana/alloy@538ac75))
  ([@thampiotr](https://github.com/thampiotr))
- **database\_observability.mysql:** Ensure result sets are properly closed ([#5893](grafana/alloy#5893)) ([f28f91c](grafana/alloy@f28f91c))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure all collectors are properly stopped ([#5796](grafana/alloy#5796)) ([6bfa2a7](grafana/alloy@6bfa2a7))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure that `connection_info` metric is only emitted for a given DB instance when it is available ([#5707](grafana/alloy#5707)) ([bf0c3dc](grafana/alloy@bf0c3dc))
  ([@rgeyer](https://github.com/rgeyer))
- **database\_observability:** Solve test flakiness in MySQL and Postgres sample collectors ([#5130](grafana/alloy#5130)) ([a7590d1](grafana/alloy@a7590d1))
  ([@gaantunes](https://github.com/gaantunes), [@cursoragent](https://github.com/cursoragent), [@cristiangreco](https://github.com/cristiangreco))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5834](grafana/alloy#5834)) ([b2fee8a](grafana/alloy@b2fee8a))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5870](grafana/alloy#5870)) ([698b4e7](grafana/alloy@698b4e7))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5825](grafana/alloy#5825)) ([5cfbcc4](grafana/alloy@5cfbcc4))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5871](grafana/alloy#5871)) ([259152d](grafana/alloy@259152d))
- **deps:** Update npm dependencies ([#5876](grafana/alloy#5876)) ([f0f6a11](grafana/alloy@f0f6a11))
- **deps:** Update npm deps across repo to address CVE-2026-26996 and  CVE-2026-22029 ([#5872](grafana/alloy#5872)) ([df518dd](grafana/alloy@df518dd))
  ([@jharvey10](https://github.com/jharvey10))
- **go:** Update build image to go v1.25.8 ([#5832](grafana/alloy#5832)) ([f9b3043](grafana/alloy@f9b3043))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12))
- **go:** Update go to 1.25.8 ([#5844](grafana/alloy#5844)) ([534e7db](grafana/alloy@534e7db))
  ([@kalleep](https://github.com/kalleep))
- Helm: alloy.extraPorts not working with service.type=NodePort \[COPY] ([#5892](grafana/alloy#5892)) ([162c6f7](grafana/alloy@162c6f7))
  ([@blewis12](https://github.com/blewis12))
- **loki.enrich:** Use shared loki functions and fix locking ([#5821](grafana/alloy#5821)) ([f916c72](grafana/alloy@f916c72))
  ([@kalleep](https://github.com/kalleep))
- **loki.process:** Multiline no longer pass empty entry if start was flushed ([#5746](grafana/alloy#5746)) ([7bdedf1](grafana/alloy@7bdedf1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **loki.process:** Protect against json that does not look like docker json format ([#5761](grafana/alloy#5761)) ([0af6eaa](grafana/alloy@0af6eaa))
  ([@kalleep](https://github.com/kalleep))
- **loki.secretfilter:** Fix bug where entries were being shadow dropped ([#5786](grafana/alloy#5786)) ([90243f9](grafana/alloy@90243f9))
  ([@mikefat](https://github.com/mikefat))
- **loki.source.file:** Fix position tracking when component stops ([#5800](grafana/alloy#5800)) ([9762946](grafana/alloy@9762946))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished ([#5723](grafana/alloy#5723)) ([fb41d0a](grafana/alloy@fb41d0a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics ([#5713](grafana/alloy#5713)) ([e9d9b69](grafana/alloy@e9d9b69))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **loki.source.heroku:** Fix shutdown semantics and consume logs in batches ([#5804](grafana/alloy#5804)) ([deda452](grafana/alloy@deda452))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Remove noisy log ([#5837](grafana/alloy#5837)) ([8e28f35](grafana/alloy@8e28f35))
  ([@kalleep](https://github.com/kalleep))
- **loki:** Make drain forward entries with fallback timeout ([#5830](grafana/alloy#5830)) ([cfbca90](grafana/alloy@cfbca90))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated ([#5787](grafana/alloy#5787)) ([dc4cb0a](grafana/alloy@dc4cb0a))
  ([@ptodev](https://github.com/ptodev))
- **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler ([#5904](grafana/alloy#5904)) ([dfaec47](grafana/alloy@dfaec47))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- Stop components in a deterministic order ([#5613](grafana/alloy#5613)) ([00cd371](grafana/alloy@00cd371))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))

##### Chores

- Use shared source structures for aws firehose  ([#5739](grafana/alloy#5739)) ([aef19dc](grafana/alloy@aef19dc)) ([@kalleep](https://github.com/kalleep))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.15/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.15/get-started/install/
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Apr 8, 2026
##### [\`v1.15.0\`](https://github.com/grafana/alloy/releases/tag/v1.15.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784))
- Renamed undocumented metrics that was previously prefixed with \<component\_id>*\<metric\_name> to loki\_source\_awsfirehose*\<metric\_name>

##### Features 🌟

- **alloy-mixin:** Add filters, groupBy, and multi-select dashboard variables ([#5611](grafana/alloy#5611)) ([3ef714e](grafana/alloy@3ef714e))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **beyla.ebpf:** Add support for Prometheus native histograms ([#5812](grafana/alloy#5812)) ([7d806fb](grafana/alloy@7d806fb))
  ([@fstab](https://github.com/fstab))
- **beyla.ebpf:** Bump Beyla to v3.6 ([#5833](grafana/alloy#5833)) ([cd878d5](grafana/alloy@cd878d5))
  ([@marctc](https://github.com/marctc), [@tpaschalis](https://github.com/tpaschalis))
- **converters:** Support converting Promtail limits\_config ([#5777](grafana/alloy#5777)) ([9491385](grafana/alloy@9491385))
  ([@ptodev](https://github.com/ptodev))
- **database\_observability.mysql:** Add filtering of query samples and wait events by minimum duration ([#5678](grafana/alloy#5678)) ([5a4d03b](grafana/alloy@5a4d03b))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **database\_observability.mysql:** Embed prometheus exporter within db-o11y component ([#5711](grafana/alloy#5711)) ([88bffb0](grafana/alloy@88bffb0))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add configurable limit to `pg_stat_statements` query ([#5639](grafana/alloy#5639)) ([0de0a3f](grafana/alloy@0de0a3f))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Embed prometheus exporter within db-o11y component ([#5714](grafana/alloy#5714)) ([9dc2e83](grafana/alloy@9dc2e83))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Add scaffolding for db-o11y integration tests ([#5575](grafana/alloy#5575)) ([ca637d8](grafana/alloy@ca637d8))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Promote components to stable ([#5736](grafana/alloy#5736)) ([21a9af6](grafana/alloy@21a9af6))
  ([@matthewnolf](https://github.com/matthewnolf), [@clayton-cornell](https://github.com/clayton-cornell))
- Expose Functionality to Handle syslogs with Empty MSG Field ([#5687](grafana/alloy#5687)) ([178b1e6](grafana/alloy@178b1e6))
  ([@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell), [@x1unix](https://github.com/x1unix))
- **helm:** Allow setting `revisionHistoryLimit` in the helm chart ([#5847](grafana/alloy#5847)) ([9713ad4](grafana/alloy@9713ad4))
  ([@hegerdes](https://github.com/hegerdes))
- **loki.process:** Support structured metadata as source type of stage.labels for loki.process ([#5055](grafana/alloy#5055)) ([eda3152](grafana/alloy@eda3152))
  ([@baurmatt](https://github.com/baurmatt))
- **loki.secretfilter:** Add sampling for secretfilter entries ([#5663](grafana/alloy#5663)) ([9997802](grafana/alloy@9997802))
  ([@mikefat](https://github.com/mikefat), [@clayton-cornell](https://github.com/clayton-cornell))
- **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and MaxOutstandingMessages ([#5760](grafana/alloy#5760)) ([c2b9f0b](grafana/alloy@c2b9f0b))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Add loki pipeline latency metric ([#5702](grafana/alloy#5702)) ([cc744a1](grafana/alloy@cc744a1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **mixin:** Update loki dashboard ([#5848](grafana/alloy#5848)) ([b616d58](grafana/alloy@b616d58))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings ([#5776](grafana/alloy#5776)) ([0384ad4](grafana/alloy@0384ad4))
  ([@thampiotr](https://github.com/thampiotr))
- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784)) ([a9b5396](grafana/alloy@a9b5396))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default ([#5768](grafana/alloy#5768)) ([a2f3489](grafana/alloy@a2f3489))
  ([@x1unix](https://github.com/x1unix))
- **pyroscope.ebpf:** Add comm, pid labels and kernel frame options ([#5769](grafana/alloy#5769)) ([4fa7068](grafana/alloy@4fa7068))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to Prometheus ([#5774](grafana/alloy#5774)) ([e713392](grafana/alloy@e713392))
  ([@korniltsev-grafanista-yolo-vibecoder239](https://github.com/korniltsev-grafanista-yolo-vibecoder239), [@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope:** Copy prometheus common/config HTTP client into promhttp2 package ([#5810](grafana/alloy#5810)) ([0b31aaa](grafana/alloy@0b31aaa))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))

##### Bug Fixes 🐛

- **beyla:** Inject Beyla version into binary via ldflags ([#5735](grafana/alloy#5735)) ([71c03ec](grafana/alloy@71c03ec))
  ([@pratik50](https://github.com/pratik50))
- Correctly handle the deprecated topic field in otelcol.receiver.kafka configuration ([#5726](grafana/alloy#5726)) ([538ac75](grafana/alloy@538ac75))
  ([@thampiotr](https://github.com/thampiotr))
- **database\_observability.mysql:** Ensure result sets are properly closed ([#5893](grafana/alloy#5893)) ([f28f91c](grafana/alloy@f28f91c))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure all collectors are properly stopped ([#5796](grafana/alloy#5796)) ([6bfa2a7](grafana/alloy@6bfa2a7))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure that `connection_info` metric is only emitted for a given DB instance when it is available ([#5707](grafana/alloy#5707)) ([bf0c3dc](grafana/alloy@bf0c3dc))
  ([@rgeyer](https://github.com/rgeyer))
- **database\_observability:** Solve test flakiness in MySQL and Postgres sample collectors ([#5130](grafana/alloy#5130)) ([a7590d1](grafana/alloy@a7590d1))
  ([@gaantunes](https://github.com/gaantunes), [@cursoragent](https://github.com/cursoragent), [@cristiangreco](https://github.com/cristiangreco))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5834](grafana/alloy#5834)) ([b2fee8a](grafana/alloy@b2fee8a))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5870](grafana/alloy#5870)) ([698b4e7](grafana/alloy@698b4e7))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5825](grafana/alloy#5825)) ([5cfbcc4](grafana/alloy@5cfbcc4))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5871](grafana/alloy#5871)) ([259152d](grafana/alloy@259152d))
- **deps:** Update npm dependencies ([#5876](grafana/alloy#5876)) ([f0f6a11](grafana/alloy@f0f6a11))
- **deps:** Update npm deps across repo to address CVE-2026-26996 and  CVE-2026-22029 ([#5872](grafana/alloy#5872)) ([df518dd](grafana/alloy@df518dd))
  ([@jharvey10](https://github.com/jharvey10))
- **go:** Update build image to go v1.25.8 ([#5832](grafana/alloy#5832)) ([f9b3043](grafana/alloy@f9b3043))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12))
- **go:** Update go to 1.25.8 ([#5844](grafana/alloy#5844)) ([534e7db](grafana/alloy@534e7db))
  ([@kalleep](https://github.com/kalleep))
- Helm: alloy.extraPorts not working with service.type=NodePort \[COPY] ([#5892](grafana/alloy#5892)) ([162c6f7](grafana/alloy@162c6f7))
  ([@blewis12](https://github.com/blewis12))
- **loki.enrich:** Use shared loki functions and fix locking ([#5821](grafana/alloy#5821)) ([f916c72](grafana/alloy@f916c72))
  ([@kalleep](https://github.com/kalleep))
- **loki.process:** Multiline no longer pass empty entry if start was flushed ([#5746](grafana/alloy#5746)) ([7bdedf1](grafana/alloy@7bdedf1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **loki.process:** Protect against json that does not look like docker json format ([#5761](grafana/alloy#5761)) ([0af6eaa](grafana/alloy@0af6eaa))
  ([@kalleep](https://github.com/kalleep))
- **loki.secretfilter:** Fix bug where entries were being shadow dropped ([#5786](grafana/alloy#5786)) ([90243f9](grafana/alloy@90243f9))
  ([@mikefat](https://github.com/mikefat))
- **loki.source.file:** Fix position tracking when component stops ([#5800](grafana/alloy#5800)) ([9762946](grafana/alloy@9762946))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished ([#5723](grafana/alloy#5723)) ([fb41d0a](grafana/alloy@fb41d0a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics ([#5713](grafana/alloy#5713)) ([e9d9b69](grafana/alloy@e9d9b69))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **loki.source.heroku:** Fix shutdown semantics and consume logs in batches ([#5804](grafana/alloy#5804)) ([deda452](grafana/alloy@deda452))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Remove noisy log ([#5837](grafana/alloy#5837)) ([8e28f35](grafana/alloy@8e28f35))
  ([@kalleep](https://github.com/kalleep))
- **loki:** Make drain forward entries with fallback timeout ([#5830](grafana/alloy#5830)) ([cfbca90](grafana/alloy@cfbca90))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated ([#5787](grafana/alloy#5787)) ([dc4cb0a](grafana/alloy@dc4cb0a))
  ([@ptodev](https://github.com/ptodev))
- **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler ([#5904](grafana/alloy#5904)) ([dfaec47](grafana/alloy@dfaec47))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- Stop components in a deterministic order ([#5613](grafana/alloy#5613)) ([00cd371](grafana/alloy@00cd371))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))

##### Chores

- Use shared source structures for aws firehose  ([#5739](grafana/alloy#5739)) ([aef19dc](grafana/alloy@aef19dc)) ([@kalleep](https://github.com/kalleep))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.15/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.15/get-started/install/
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Apr 8, 2026
##### [\`v1.15.0\`](https://github.com/grafana/alloy/releases/tag/v1.15.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784))
- Renamed undocumented metrics that was previously prefixed with \<component\_id>*\<metric\_name> to loki\_source\_awsfirehose*\<metric\_name>

##### Features 🌟

- **alloy-mixin:** Add filters, groupBy, and multi-select dashboard variables ([#5611](grafana/alloy#5611)) ([3ef714e](grafana/alloy@3ef714e))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **beyla.ebpf:** Add support for Prometheus native histograms ([#5812](grafana/alloy#5812)) ([7d806fb](grafana/alloy@7d806fb))
  ([@fstab](https://github.com/fstab))
- **beyla.ebpf:** Bump Beyla to v3.6 ([#5833](grafana/alloy#5833)) ([cd878d5](grafana/alloy@cd878d5))
  ([@marctc](https://github.com/marctc), [@tpaschalis](https://github.com/tpaschalis))
- **converters:** Support converting Promtail limits\_config ([#5777](grafana/alloy#5777)) ([9491385](grafana/alloy@9491385))
  ([@ptodev](https://github.com/ptodev))
- **database\_observability.mysql:** Add filtering of query samples and wait events by minimum duration ([#5678](grafana/alloy#5678)) ([5a4d03b](grafana/alloy@5a4d03b))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **database\_observability.mysql:** Embed prometheus exporter within db-o11y component ([#5711](grafana/alloy#5711)) ([88bffb0](grafana/alloy@88bffb0))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add configurable limit to `pg_stat_statements` query ([#5639](grafana/alloy#5639)) ([0de0a3f](grafana/alloy@0de0a3f))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Embed prometheus exporter within db-o11y component ([#5714](grafana/alloy#5714)) ([9dc2e83](grafana/alloy@9dc2e83))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Add scaffolding for db-o11y integration tests ([#5575](grafana/alloy#5575)) ([ca637d8](grafana/alloy@ca637d8))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Promote components to stable ([#5736](grafana/alloy#5736)) ([21a9af6](grafana/alloy@21a9af6))
  ([@matthewnolf](https://github.com/matthewnolf), [@clayton-cornell](https://github.com/clayton-cornell))
- Expose Functionality to Handle syslogs with Empty MSG Field ([#5687](grafana/alloy#5687)) ([178b1e6](grafana/alloy@178b1e6))
  ([@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell), [@x1unix](https://github.com/x1unix))
- **helm:** Allow setting `revisionHistoryLimit` in the helm chart ([#5847](grafana/alloy#5847)) ([9713ad4](grafana/alloy@9713ad4))
  ([@hegerdes](https://github.com/hegerdes))
- **loki.process:** Support structured metadata as source type of stage.labels for loki.process ([#5055](grafana/alloy#5055)) ([eda3152](grafana/alloy@eda3152))
  ([@baurmatt](https://github.com/baurmatt))
- **loki.secretfilter:** Add sampling for secretfilter entries ([#5663](grafana/alloy#5663)) ([9997802](grafana/alloy@9997802))
  ([@mikefat](https://github.com/mikefat), [@clayton-cornell](https://github.com/clayton-cornell))
- **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and MaxOutstandingMessages ([#5760](grafana/alloy#5760)) ([c2b9f0b](grafana/alloy@c2b9f0b))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Add loki pipeline latency metric ([#5702](grafana/alloy#5702)) ([cc744a1](grafana/alloy@cc744a1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **mixin:** Update loki dashboard ([#5848](grafana/alloy#5848)) ([b616d58](grafana/alloy@b616d58))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings ([#5776](grafana/alloy#5776)) ([0384ad4](grafana/alloy@0384ad4))
  ([@thampiotr](https://github.com/thampiotr))
- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784)) ([a9b5396](grafana/alloy@a9b5396))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default ([#5768](grafana/alloy#5768)) ([a2f3489](grafana/alloy@a2f3489))
  ([@x1unix](https://github.com/x1unix))
- **pyroscope.ebpf:** Add comm, pid labels and kernel frame options ([#5769](grafana/alloy#5769)) ([4fa7068](grafana/alloy@4fa7068))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to Prometheus ([#5774](grafana/alloy#5774)) ([e713392](grafana/alloy@e713392))
  ([@korniltsev-grafanista-yolo-vibecoder239](https://github.com/korniltsev-grafanista-yolo-vibecoder239), [@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope:** Copy prometheus common/config HTTP client into promhttp2 package ([#5810](grafana/alloy#5810)) ([0b31aaa](grafana/alloy@0b31aaa))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))

##### Bug Fixes 🐛

- **beyla:** Inject Beyla version into binary via ldflags ([#5735](grafana/alloy#5735)) ([71c03ec](grafana/alloy@71c03ec))
  ([@pratik50](https://github.com/pratik50))
- Correctly handle the deprecated topic field in otelcol.receiver.kafka configuration ([#5726](grafana/alloy#5726)) ([538ac75](grafana/alloy@538ac75))
  ([@thampiotr](https://github.com/thampiotr))
- **database\_observability.mysql:** Ensure result sets are properly closed ([#5893](grafana/alloy#5893)) ([f28f91c](grafana/alloy@f28f91c))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure all collectors are properly stopped ([#5796](grafana/alloy#5796)) ([6bfa2a7](grafana/alloy@6bfa2a7))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure that `connection_info` metric is only emitted for a given DB instance when it is available ([#5707](grafana/alloy#5707)) ([bf0c3dc](grafana/alloy@bf0c3dc))
  ([@rgeyer](https://github.com/rgeyer))
- **database\_observability:** Solve test flakiness in MySQL and Postgres sample collectors ([#5130](grafana/alloy#5130)) ([a7590d1](grafana/alloy@a7590d1))
  ([@gaantunes](https://github.com/gaantunes), [@cursoragent](https://github.com/cursoragent), [@cristiangreco](https://github.com/cristiangreco))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5834](grafana/alloy#5834)) ([b2fee8a](grafana/alloy@b2fee8a))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5870](grafana/alloy#5870)) ([698b4e7](grafana/alloy@698b4e7))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5825](grafana/alloy#5825)) ([5cfbcc4](grafana/alloy@5cfbcc4))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5871](grafana/alloy#5871)) ([259152d](grafana/alloy@259152d))
- **deps:** Update npm dependencies ([#5876](grafana/alloy#5876)) ([f0f6a11](grafana/alloy@f0f6a11))
- **deps:** Update npm deps across repo to address CVE-2026-26996 and  CVE-2026-22029 ([#5872](grafana/alloy#5872)) ([df518dd](grafana/alloy@df518dd))
  ([@jharvey10](https://github.com/jharvey10))
- **go:** Update build image to go v1.25.8 ([#5832](grafana/alloy#5832)) ([f9b3043](grafana/alloy@f9b3043))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12))
- **go:** Update go to 1.25.8 ([#5844](grafana/alloy#5844)) ([534e7db](grafana/alloy@534e7db))
  ([@kalleep](https://github.com/kalleep))
- Helm: alloy.extraPorts not working with service.type=NodePort \[COPY] ([#5892](grafana/alloy#5892)) ([162c6f7](grafana/alloy@162c6f7))
  ([@blewis12](https://github.com/blewis12))
- **loki.enrich:** Use shared loki functions and fix locking ([#5821](grafana/alloy#5821)) ([f916c72](grafana/alloy@f916c72))
  ([@kalleep](https://github.com/kalleep))
- **loki.process:** Multiline no longer pass empty entry if start was flushed ([#5746](grafana/alloy#5746)) ([7bdedf1](grafana/alloy@7bdedf1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **loki.process:** Protect against json that does not look like docker json format ([#5761](grafana/alloy#5761)) ([0af6eaa](grafana/alloy@0af6eaa))
  ([@kalleep](https://github.com/kalleep))
- **loki.secretfilter:** Fix bug where entries were being shadow dropped ([#5786](grafana/alloy#5786)) ([90243f9](grafana/alloy@90243f9))
  ([@mikefat](https://github.com/mikefat))
- **loki.source.file:** Fix position tracking when component stops ([#5800](grafana/alloy#5800)) ([9762946](grafana/alloy@9762946))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished ([#5723](grafana/alloy#5723)) ([fb41d0a](grafana/alloy@fb41d0a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics ([#5713](grafana/alloy#5713)) ([e9d9b69](grafana/alloy@e9d9b69))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **loki.source.heroku:** Fix shutdown semantics and consume logs in batches ([#5804](grafana/alloy#5804)) ([deda452](grafana/alloy@deda452))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Remove noisy log ([#5837](grafana/alloy#5837)) ([8e28f35](grafana/alloy@8e28f35))
  ([@kalleep](https://github.com/kalleep))
- **loki:** Make drain forward entries with fallback timeout ([#5830](grafana/alloy#5830)) ([cfbca90](grafana/alloy@cfbca90))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated ([#5787](grafana/alloy#5787)) ([dc4cb0a](grafana/alloy@dc4cb0a))
  ([@ptodev](https://github.com/ptodev))
- **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler ([#5904](grafana/alloy#5904)) ([dfaec47](grafana/alloy@dfaec47))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- Stop components in a deterministic order ([#5613](grafana/alloy#5613)) ([00cd371](grafana/alloy@00cd371))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))

##### Chores

- Use shared source structures for aws firehose  ([#5739](grafana/alloy#5739)) ([aef19dc](grafana/alloy@aef19dc)) ([@kalleep](https://github.com/kalleep))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.15/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.15/get-started/install/
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Apr 8, 2026
##### [\`v1.15.0\`](https://github.com/grafana/alloy/releases/tag/v1.15.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784))
- Renamed undocumented metrics that was previously prefixed with \<component\_id>*\<metric\_name> to loki\_source\_awsfirehose*\<metric\_name>

##### Features 🌟

- **alloy-mixin:** Add filters, groupBy, and multi-select dashboard variables ([#5611](grafana/alloy#5611)) ([3ef714e](grafana/alloy@3ef714e))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **beyla.ebpf:** Add support for Prometheus native histograms ([#5812](grafana/alloy#5812)) ([7d806fb](grafana/alloy@7d806fb))
  ([@fstab](https://github.com/fstab))
- **beyla.ebpf:** Bump Beyla to v3.6 ([#5833](grafana/alloy#5833)) ([cd878d5](grafana/alloy@cd878d5))
  ([@marctc](https://github.com/marctc), [@tpaschalis](https://github.com/tpaschalis))
- **converters:** Support converting Promtail limits\_config ([#5777](grafana/alloy#5777)) ([9491385](grafana/alloy@9491385))
  ([@ptodev](https://github.com/ptodev))
- **database\_observability.mysql:** Add filtering of query samples and wait events by minimum duration ([#5678](grafana/alloy#5678)) ([5a4d03b](grafana/alloy@5a4d03b))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **database\_observability.mysql:** Embed prometheus exporter within db-o11y component ([#5711](grafana/alloy#5711)) ([88bffb0](grafana/alloy@88bffb0))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add configurable limit to `pg_stat_statements` query ([#5639](grafana/alloy#5639)) ([0de0a3f](grafana/alloy@0de0a3f))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Embed prometheus exporter within db-o11y component ([#5714](grafana/alloy#5714)) ([9dc2e83](grafana/alloy@9dc2e83))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Add scaffolding for db-o11y integration tests ([#5575](grafana/alloy#5575)) ([ca637d8](grafana/alloy@ca637d8))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Promote components to stable ([#5736](grafana/alloy#5736)) ([21a9af6](grafana/alloy@21a9af6))
  ([@matthewnolf](https://github.com/matthewnolf), [@clayton-cornell](https://github.com/clayton-cornell))
- Expose Functionality to Handle syslogs with Empty MSG Field ([#5687](grafana/alloy#5687)) ([178b1e6](grafana/alloy@178b1e6))
  ([@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell), [@x1unix](https://github.com/x1unix))
- **helm:** Allow setting `revisionHistoryLimit` in the helm chart ([#5847](grafana/alloy#5847)) ([9713ad4](grafana/alloy@9713ad4))
  ([@hegerdes](https://github.com/hegerdes))
- **loki.process:** Support structured metadata as source type of stage.labels for loki.process ([#5055](grafana/alloy#5055)) ([eda3152](grafana/alloy@eda3152))
  ([@baurmatt](https://github.com/baurmatt))
- **loki.secretfilter:** Add sampling for secretfilter entries ([#5663](grafana/alloy#5663)) ([9997802](grafana/alloy@9997802))
  ([@mikefat](https://github.com/mikefat), [@clayton-cornell](https://github.com/clayton-cornell))
- **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and MaxOutstandingMessages ([#5760](grafana/alloy#5760)) ([c2b9f0b](grafana/alloy@c2b9f0b))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Add loki pipeline latency metric ([#5702](grafana/alloy#5702)) ([cc744a1](grafana/alloy@cc744a1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **mixin:** Update loki dashboard ([#5848](grafana/alloy#5848)) ([b616d58](grafana/alloy@b616d58))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings ([#5776](grafana/alloy#5776)) ([0384ad4](grafana/alloy@0384ad4))
  ([@thampiotr](https://github.com/thampiotr))
- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784)) ([a9b5396](grafana/alloy@a9b5396))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default ([#5768](grafana/alloy#5768)) ([a2f3489](grafana/alloy@a2f3489))
  ([@x1unix](https://github.com/x1unix))
- **pyroscope.ebpf:** Add comm, pid labels and kernel frame options ([#5769](grafana/alloy#5769)) ([4fa7068](grafana/alloy@4fa7068))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to Prometheus ([#5774](grafana/alloy#5774)) ([e713392](grafana/alloy@e713392))
  ([@korniltsev-grafanista-yolo-vibecoder239](https://github.com/korniltsev-grafanista-yolo-vibecoder239), [@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope:** Copy prometheus common/config HTTP client into promhttp2 package ([#5810](grafana/alloy#5810)) ([0b31aaa](grafana/alloy@0b31aaa))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))

##### Bug Fixes 🐛

- **beyla:** Inject Beyla version into binary via ldflags ([#5735](grafana/alloy#5735)) ([71c03ec](grafana/alloy@71c03ec))
  ([@pratik50](https://github.com/pratik50))
- Correctly handle the deprecated topic field in otelcol.receiver.kafka configuration ([#5726](grafana/alloy#5726)) ([538ac75](grafana/alloy@538ac75))
  ([@thampiotr](https://github.com/thampiotr))
- **database\_observability.mysql:** Ensure result sets are properly closed ([#5893](grafana/alloy#5893)) ([f28f91c](grafana/alloy@f28f91c))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure all collectors are properly stopped ([#5796](grafana/alloy#5796)) ([6bfa2a7](grafana/alloy@6bfa2a7))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure that `connection_info` metric is only emitted for a given DB instance when it is available ([#5707](grafana/alloy#5707)) ([bf0c3dc](grafana/alloy@bf0c3dc))
  ([@rgeyer](https://github.com/rgeyer))
- **database\_observability:** Solve test flakiness in MySQL and Postgres sample collectors ([#5130](grafana/alloy#5130)) ([a7590d1](grafana/alloy@a7590d1))
  ([@gaantunes](https://github.com/gaantunes), [@cursoragent](https://github.com/cursoragent), [@cristiangreco](https://github.com/cristiangreco))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5834](grafana/alloy#5834)) ([b2fee8a](grafana/alloy@b2fee8a))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5870](grafana/alloy#5870)) ([698b4e7](grafana/alloy@698b4e7))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5825](grafana/alloy#5825)) ([5cfbcc4](grafana/alloy@5cfbcc4))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5871](grafana/alloy#5871)) ([259152d](grafana/alloy@259152d))
- **deps:** Update npm dependencies ([#5876](grafana/alloy#5876)) ([f0f6a11](grafana/alloy@f0f6a11))
- **deps:** Update npm deps across repo to address CVE-2026-26996 and  CVE-2026-22029 ([#5872](grafana/alloy#5872)) ([df518dd](grafana/alloy@df518dd))
  ([@jharvey10](https://github.com/jharvey10))
- **go:** Update build image to go v1.25.8 ([#5832](grafana/alloy#5832)) ([f9b3043](grafana/alloy@f9b3043))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12))
- **go:** Update go to 1.25.8 ([#5844](grafana/alloy#5844)) ([534e7db](grafana/alloy@534e7db))
  ([@kalleep](https://github.com/kalleep))
- Helm: alloy.extraPorts not working with service.type=NodePort \[COPY] ([#5892](grafana/alloy#5892)) ([162c6f7](grafana/alloy@162c6f7))
  ([@blewis12](https://github.com/blewis12))
- **loki.enrich:** Use shared loki functions and fix locking ([#5821](grafana/alloy#5821)) ([f916c72](grafana/alloy@f916c72))
  ([@kalleep](https://github.com/kalleep))
- **loki.process:** Multiline no longer pass empty entry if start was flushed ([#5746](grafana/alloy#5746)) ([7bdedf1](grafana/alloy@7bdedf1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **loki.process:** Protect against json that does not look like docker json format ([#5761](grafana/alloy#5761)) ([0af6eaa](grafana/alloy@0af6eaa))
  ([@kalleep](https://github.com/kalleep))
- **loki.secretfilter:** Fix bug where entries were being shadow dropped ([#5786](grafana/alloy#5786)) ([90243f9](grafana/alloy@90243f9))
  ([@mikefat](https://github.com/mikefat))
- **loki.source.file:** Fix position tracking when component stops ([#5800](grafana/alloy#5800)) ([9762946](grafana/alloy@9762946))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished ([#5723](grafana/alloy#5723)) ([fb41d0a](grafana/alloy@fb41d0a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics ([#5713](grafana/alloy#5713)) ([e9d9b69](grafana/alloy@e9d9b69))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **loki.source.heroku:** Fix shutdown semantics and consume logs in batches ([#5804](grafana/alloy#5804)) ([deda452](grafana/alloy@deda452))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Remove noisy log ([#5837](grafana/alloy#5837)) ([8e28f35](grafana/alloy@8e28f35))
  ([@kalleep](https://github.com/kalleep))
- **loki:** Make drain forward entries with fallback timeout ([#5830](grafana/alloy#5830)) ([cfbca90](grafana/alloy@cfbca90))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated ([#5787](grafana/alloy#5787)) ([dc4cb0a](grafana/alloy@dc4cb0a))
  ([@ptodev](https://github.com/ptodev))
- **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler ([#5904](grafana/alloy#5904)) ([dfaec47](grafana/alloy@dfaec47))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- Stop components in a deterministic order ([#5613](grafana/alloy#5613)) ([00cd371](grafana/alloy@00cd371))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))

##### Chores

- Use shared source structures for aws firehose  ([#5739](grafana/alloy#5739)) ([aef19dc](grafana/alloy@aef19dc)) ([@kalleep](https://github.com/kalleep))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.15/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.15/get-started/install/
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Apr 8, 2026
##### [\`v1.15.0\`](https://github.com/grafana/alloy/releases/tag/v1.15.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784))
- Renamed undocumented metrics that was previously prefixed with \<component\_id>*\<metric\_name> to loki\_source\_awsfirehose*\<metric\_name>

##### Features 🌟

- **alloy-mixin:** Add filters, groupBy, and multi-select dashboard variables ([#5611](grafana/alloy#5611)) ([3ef714e](grafana/alloy@3ef714e))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **beyla.ebpf:** Add support for Prometheus native histograms ([#5812](grafana/alloy#5812)) ([7d806fb](grafana/alloy@7d806fb))
  ([@fstab](https://github.com/fstab))
- **beyla.ebpf:** Bump Beyla to v3.6 ([#5833](grafana/alloy#5833)) ([cd878d5](grafana/alloy@cd878d5))
  ([@marctc](https://github.com/marctc), [@tpaschalis](https://github.com/tpaschalis))
- **converters:** Support converting Promtail limits\_config ([#5777](grafana/alloy#5777)) ([9491385](grafana/alloy@9491385))
  ([@ptodev](https://github.com/ptodev))
- **database\_observability.mysql:** Add filtering of query samples and wait events by minimum duration ([#5678](grafana/alloy#5678)) ([5a4d03b](grafana/alloy@5a4d03b))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **database\_observability.mysql:** Embed prometheus exporter within db-o11y component ([#5711](grafana/alloy#5711)) ([88bffb0](grafana/alloy@88bffb0))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add configurable limit to `pg_stat_statements` query ([#5639](grafana/alloy#5639)) ([0de0a3f](grafana/alloy@0de0a3f))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Embed prometheus exporter within db-o11y component ([#5714](grafana/alloy#5714)) ([9dc2e83](grafana/alloy@9dc2e83))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Add scaffolding for db-o11y integration tests ([#5575](grafana/alloy#5575)) ([ca637d8](grafana/alloy@ca637d8))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Promote components to stable ([#5736](grafana/alloy#5736)) ([21a9af6](grafana/alloy@21a9af6))
  ([@matthewnolf](https://github.com/matthewnolf), [@clayton-cornell](https://github.com/clayton-cornell))
- Expose Functionality to Handle syslogs with Empty MSG Field ([#5687](grafana/alloy#5687)) ([178b1e6](grafana/alloy@178b1e6))
  ([@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell), [@x1unix](https://github.com/x1unix))
- **helm:** Allow setting `revisionHistoryLimit` in the helm chart ([#5847](grafana/alloy#5847)) ([9713ad4](grafana/alloy@9713ad4))
  ([@hegerdes](https://github.com/hegerdes))
- **loki.process:** Support structured metadata as source type of stage.labels for loki.process ([#5055](grafana/alloy#5055)) ([eda3152](grafana/alloy@eda3152))
  ([@baurmatt](https://github.com/baurmatt))
- **loki.secretfilter:** Add sampling for secretfilter entries ([#5663](grafana/alloy#5663)) ([9997802](grafana/alloy@9997802))
  ([@mikefat](https://github.com/mikefat), [@clayton-cornell](https://github.com/clayton-cornell))
- **loki.source.gcplog:** Add alloy config for MaxOutstandingBytes and MaxOutstandingMessages ([#5760](grafana/alloy#5760)) ([c2b9f0b](grafana/alloy@c2b9f0b))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Add loki pipeline latency metric ([#5702](grafana/alloy#5702)) ([cc744a1](grafana/alloy@cc744a1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **mixin:** Update loki dashboard ([#5848](grafana/alloy#5848)) ([b616d58](grafana/alloy@b616d58))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings ([#5776](grafana/alloy#5776)) ([0384ad4](grafana/alloy@0384ad4))
  ([@thampiotr](https://github.com/thampiotr))
- **otelcol:** Upgrade to OTel Collector v0.147.0 ([#5784](grafana/alloy#5784)) ([a9b5396](grafana/alloy@a9b5396))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.cloudwatch:** Use aws-sdk-go-v2 by default ([#5768](grafana/alloy#5768)) ([a2f3489](grafana/alloy@a2f3489))
  ([@x1unix](https://github.com/x1unix))
- **pyroscope.ebpf:** Add comm, pid labels and kernel frame options ([#5769](grafana/alloy#5769)) ([4fa7068](grafana/alloy@4fa7068))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope.ebpf:** Expose OTel eBPF profiler internal metrics to Prometheus ([#5774](grafana/alloy#5774)) ([e713392](grafana/alloy@e713392))
  ([@korniltsev-grafanista-yolo-vibecoder239](https://github.com/korniltsev-grafanista-yolo-vibecoder239), [@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope:** Copy prometheus common/config HTTP client into promhttp2 package ([#5810](grafana/alloy#5810)) ([0b31aaa](grafana/alloy@0b31aaa))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))

##### Bug Fixes 🐛

- **beyla:** Inject Beyla version into binary via ldflags ([#5735](grafana/alloy#5735)) ([71c03ec](grafana/alloy@71c03ec))
  ([@pratik50](https://github.com/pratik50))
- Correctly handle the deprecated topic field in otelcol.receiver.kafka configuration ([#5726](grafana/alloy#5726)) ([538ac75](grafana/alloy@538ac75))
  ([@thampiotr](https://github.com/thampiotr))
- **database\_observability.mysql:** Ensure result sets are properly closed ([#5893](grafana/alloy#5893)) ([f28f91c](grafana/alloy@f28f91c))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure all collectors are properly stopped ([#5796](grafana/alloy#5796)) ([6bfa2a7](grafana/alloy@6bfa2a7))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Ensure that `connection_info` metric is only emitted for a given DB instance when it is available ([#5707](grafana/alloy#5707)) ([bf0c3dc](grafana/alloy@bf0c3dc))
  ([@rgeyer](https://github.com/rgeyer))
- **database\_observability:** Solve test flakiness in MySQL and Postgres sample collectors ([#5130](grafana/alloy#5130)) ([a7590d1](grafana/alloy@a7590d1))
  ([@gaantunes](https://github.com/gaantunes), [@cursoragent](https://github.com/cursoragent), [@cristiangreco](https://github.com/cristiangreco))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5834](grafana/alloy#5834)) ([b2fee8a](grafana/alloy@b2fee8a))
- **deps:** Update module github.com/buger/jsonparser to v1.1.2 \[SECURITY] ([#5870](grafana/alloy#5870)) ([698b4e7](grafana/alloy@698b4e7))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5825](grafana/alloy#5825)) ([5cfbcc4](grafana/alloy@5cfbcc4))
- **deps:** Update module google.golang.org/grpc to v1.79.3 \[SECURITY] ([#5871](grafana/alloy#5871)) ([259152d](grafana/alloy@259152d))
- **deps:** Update npm dependencies ([#5876](grafana/alloy#5876)) ([f0f6a11](grafana/alloy@f0f6a11))
- **deps:** Update npm deps across repo to address CVE-2026-26996 and  CVE-2026-22029 ([#5872](grafana/alloy#5872)) ([df518dd](grafana/alloy@df518dd))
  ([@jharvey10](https://github.com/jharvey10))
- **go:** Update build image to go v1.25.8 ([#5832](grafana/alloy#5832)) ([f9b3043](grafana/alloy@f9b3043))
  ([@kalleep](https://github.com/kalleep), [@blewis12](https://github.com/blewis12))
- **go:** Update go to 1.25.8 ([#5844](grafana/alloy#5844)) ([534e7db](grafana/alloy@534e7db))
  ([@kalleep](https://github.com/kalleep))
- Helm: alloy.extraPorts not working with service.type=NodePort \[COPY] ([#5892](grafana/alloy#5892)) ([162c6f7](grafana/alloy@162c6f7))
  ([@blewis12](https://github.com/blewis12))
- **loki.enrich:** Use shared loki functions and fix locking ([#5821](grafana/alloy#5821)) ([f916c72](grafana/alloy@f916c72))
  ([@kalleep](https://github.com/kalleep))
- **loki.process:** Multiline no longer pass empty entry if start was flushed ([#5746](grafana/alloy#5746)) ([7bdedf1](grafana/alloy@7bdedf1))
  ([@kalleep](https://github.com/kalleep), [@thampiotr](https://github.com/thampiotr))
- **loki.process:** Protect against json that does not look like docker json format ([#5761](grafana/alloy#5761)) ([0af6eaa](grafana/alloy@0af6eaa))
  ([@kalleep](https://github.com/kalleep))
- **loki.secretfilter:** Fix bug where entries were being shadow dropped ([#5786](grafana/alloy#5786)) ([90243f9](grafana/alloy@90243f9))
  ([@mikefat](https://github.com/mikefat))
- **loki.source.file:** Fix position tracking when component stops ([#5800](grafana/alloy#5800)) ([9762946](grafana/alloy@9762946))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished ([#5723](grafana/alloy#5723)) ([fb41d0a](grafana/alloy@fb41d0a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.gcplog:** Update to pubsub v2 and fix shutdown semantics ([#5713](grafana/alloy#5713)) ([e9d9b69](grafana/alloy@e9d9b69))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **loki.source.heroku:** Fix shutdown semantics and consume logs in batches ([#5804](grafana/alloy#5804)) ([deda452](grafana/alloy@deda452))
  ([@kalleep](https://github.com/kalleep))
- **loki.write:** Remove noisy log ([#5837](grafana/alloy#5837)) ([8e28f35](grafana/alloy@8e28f35))
  ([@kalleep](https://github.com/kalleep))
- **loki:** Make drain forward entries with fallback timeout ([#5830](grafana/alloy#5830)) ([cfbca90](grafana/alloy@cfbca90))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated ([#5787](grafana/alloy#5787)) ([dc4cb0a](grafana/alloy@dc4cb0a))
  ([@ptodev](https://github.com/ptodev))
- **pyroscope.ebpf:** Update opentelemetry-ebpf-profiler ([#5904](grafana/alloy#5904)) ([dfaec47](grafana/alloy@dfaec47))
  ([@korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- Stop components in a deterministic order ([#5613](grafana/alloy#5613)) ([00cd371](grafana/alloy@00cd371))
  ([@kalleep](https://github.com/kalleep), [@kgeckhart](https://github.com/kgeckhart))

##### Chores

- Use shared source structures for aws firehose  ([#5739](grafana/alloy#5739)) ([aef19dc](grafana/alloy@aef19dc)) ([@kalleep](https://github.com/kalleep))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.15/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.15/get-started/install/
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Apr 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

freeze-exempt Denotes a PR which is exempt from code freezes. Usually a necessary fix for RC stability. frozen-due-to-age

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants