Skip to content

fix(prometheus.scrape): Update arguments and targets even if scrape_native_histograms and extra_metrics are updated [backport]#5792

Merged
kgeckhart merged 1 commit into
release/v1.14from
backport/pr-5787-to-v1.14
Mar 16, 2026
Merged

fix(prometheus.scrape): Update arguments and targets even if scrape_native_histograms and extra_metrics are updated [backport]#5792
kgeckhart merged 1 commit into
release/v1.14from
backport/pr-5787-to-v1.14

Conversation

@grafana-alloybot
Copy link
Copy Markdown
Contributor

Backport of #5787

This PR backports #5787 to release/v1.14.

Original PR Author

@ptodev

Description

Pull Request Details

Changes to scrape_native_histograms and extra_metrics can only take effect after a restart of the component. In a future PR we could get the scrape pool to restart so that changes to those components can take effect even if the config is reloaded.

The main issue with the current code is that targets won't be updated. So even though the component attempts to run the old ("good") config, that old config contains stale targets. Therefore the scraper isn't picking up any new targets. It may also try to scrape old targets which no longer exist.

This PR also fixes a problem where an invalid config in general can cause stale targets. It's because Update() returns before targets can be updated.

The tests fail when I comment out the change in scrape.go
└─▪ go test .
ts=2026-03-13T20:25:39.826105Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:39.826579Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:39.829549Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:39.829657Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:39.83196Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:39.832063Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:39.833304Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:39.833419Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:39.838636Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:39.838759Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:44.92322Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:44.92322Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:44.92337Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:44.923383Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:44.930673Z level=info msg="scrape manager stopped"
ts=2026-03-13T20:25:44.934526Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:44.934687Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:44.936428Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:44.936503Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:44.942781Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:44.94289Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:25:44.944278Z level=info msg="scrape manager stopped"
ts=2026-03-13T20:25:49.848985Z level=info msg="scrape manager stopped"
ts=2026-03-13T20:25:49.947027Z level=info msg="scrape manager stopped"
ts=2026-03-13T20:25:50.011818Z level=info msg="scrape manager stopped"
ts=2026-03-13T20:25:50.016656Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:50.016691Z level=debug msg="passed new targets to scrape manager"
level=debug test=TestCustomDialer ts=20:25:55.071 msg="accepted new in-memory connection"
level=debug test=TestCustomDialer ts=20:25:55.071 msg="dialed to in-memory listener"
ts=2026-03-13T20:25:55.073626Z level=info msg="scrape manager stopped"
ts=2026-03-13T20:25:55.204507Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:25:55.205275Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:26:00.306499Z level=info msg="scrape manager stopped"
ts=2026-03-13T20:26:00.422209Z level=debug msg="scrape config was updated"
ts=2026-03-13T20:26:00.422455Z level=debug msg="passed new targets to scrape manager"
ts=2026-03-13T20:26:05.523946Z level=info msg="scrape manager stopped"
ts=2026-03-13T20:26:05.528546Z level=debug msg="scrape config was updated" component_path=prometheus.scrape component_id=targets_are_updated
ts=2026-03-13T20:26:05.528653Z level=debug msg="passed new targets to scrape manager" component_path=prometheus.scrape component_id=targets_are_updated
ts=2026-03-13T20:26:10.601378Z level=debug msg="scrape config was updated" component_path=prometheus.scrape component_id=targets_are_updated
ts=2026-03-13T20:26:10.601752Z level=debug msg="passed new targets to scrape manager" component_path=prometheus.scrape component_id=targets_are_updated
ts=2026-03-13T20:26:15.552585Z level=info msg="scrape manager stopped" component_path=prometheus.scrape component_id=targets_are_updated
ts=2026-03-13T20:26:15.57111Z level=debug msg="scrape config was updated" component_path=prometheus.scrape component_id=scrape_native_histograms_change_is_ignored_but_component_continues_with_updated_targets
ts=2026-03-13T20:26:15.571333Z level=debug msg="passed new targets to scrape manager" component_path=prometheus.scrape component_id=scrape_native_histograms_change_is_ignored_but_component_continues_with_updated_targets
ts=2026-03-13T20:26:20.623134Z level=info msg="scrape manager stopped" component_path=prometheus.scrape component_id=scrape_native_histograms_change_is_ignored_but_component_continues_with_updated_targets
ts=2026-03-13T20:26:20.629026Z level=debug msg="scrape config was updated" component_path=prometheus.scrape component_id=extra_metrics_change_is_ignored_but_component_continues_with_updated_targets
ts=2026-03-13T20:26:20.629441Z level=debug msg="passed new targets to scrape manager" component_path=prometheus.scrape component_id=extra_metrics_change_is_ignored_but_component_continues_with_updated_targets
ts=2026-03-13T20:26:25.680582Z level=info msg="scrape manager stopped" component_path=prometheus.scrape component_id=extra_metrics_change_is_ignored_but_component_continues_with_updated_targets
ts=2026-03-13T20:26:25.705794Z level=debug msg="scrape config was updated" component_path=prometheus.scrape component_id=targets_are_updated_even_when_ApplyConfig_fails
ts=2026-03-13T20:26:25.706469Z level=debug msg="passed new targets to scrape manager" component_path=prometheus.scrape component_id=targets_are_updated_even_when_ApplyConfig_fails
ts=2026-03-13T20:26:30.827503Z level=error msg="error reloading scrape pool" component_path=prometheus.scrape component_id=targets_are_updated_even_when_ApplyConfig_fails err="error creating HTTP client: unable to read CA cert: unable to read file /nonexistent/ca.pem: open /nonexistent/ca.pem: no such file or directory" scrape_pool=test_job
ts=2026-03-13T20:26:40.829039Z level=info msg="scrape manager stopped" component_path=prometheus.scrape component_id=targets_are_updated_even_when_ApplyConfig_fails
--- FAIL: TestRuntimeUpdate (35.31s)
    --- FAIL: TestRuntimeUpdate/scrape_native_histograms_change_is_ignored_but_component_continues_with_updated_targets (5.07s)
        scrape_test.go:1175: 
                Error Trace:    /Users/paulintodev/Documents/GitHub/alloy-1/internal/component/prometheus/scrape/scrape_test.go:1175
                Error:          Received unexpected error:
                                scrape_native_histograms cannot be updated at runtime
                Test:           TestRuntimeUpdate/scrape_native_histograms_change_is_ignored_but_component_continues_with_updated_targets
    --- FAIL: TestRuntimeUpdate/extra_metrics_change_is_ignored_but_component_continues_with_updated_targets (5.06s)
        scrape_test.go:1175: 
                Error Trace:    /Users/paulintodev/Documents/GitHub/alloy-1/internal/component/prometheus/scrape/scrape_test.go:1175
                Error:          Received unexpected error:
                                extra_metrics cannot be updated at runtime
                Test:           TestRuntimeUpdate/extra_metrics_change_is_ignored_but_component_continues_with_updated_targets
    --- FAIL: TestRuntimeUpdate/targets_are_updated_even_when_ApplyConfig_fails (15.15s)
        scrape_test.go:1178: 
                Error Trace:    /Users/paulintodev/Documents/GitHub/alloy-1/internal/component/prometheus/scrape/scrape_test.go:1146
                                                        /Users/paulintodev/Documents/GitHub/alloy-1/internal/component/prometheus/scrape/scrape_test.go:1179
                                                        /Users/paulintodev/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.7.darwin-arm64/src/runtime/asm_arm64.s:1268
                Error:          Should be true
                Messages:       server_b_up should appear even when ApplyConfig fails
        scrape_test.go:1178: 
                Error Trace:    /Users/paulintodev/Documents/GitHub/alloy-1/internal/component/prometheus/scrape/scrape_test.go:1178
                Error:          Condition never satisfied
                Test:           TestRuntimeUpdate/targets_are_updated_even_when_ApplyConfig_fails
                Messages:       post-update check timed out
FAIL
FAIL    github.com/grafana/alloy/internal/component/prometheus/scrape   61.987s
FAIL

PR Checklist

  • Documentation added
  • Tests updated
  • Config converters updated

This backport was created automatically.

…native_histograms` and `extra_metrics` are updated (#5787)

(cherry picked from commit dc4cb0a)
@grafana-alloybot grafana-alloybot Bot requested a review from a team as a code owner March 16, 2026 11:30
@kgeckhart kgeckhart enabled auto-merge (squash) March 16, 2026 12:56
@kgeckhart kgeckhart merged commit 76d398f into release/v1.14 Mar 16, 2026
43 checks passed
@kgeckhart kgeckhart deleted the backport/pr-5787-to-v1.14 branch March 16, 2026 12:56
blewis12 pushed a commit that referenced this pull request Mar 17, 2026
🤖 I have created a release *beep* *boop*
---


## [1.14.1](v1.14.0...v1.14.1)
(2026-03-17)


### Bug Fixes 🐛

* Correctly handle the deprecated topic field in otelcol.receiver.kafka
configuration [backport]
([#5730](#5730))
([4393054](4393054))
* **deps:** Update module golang.org/x/net to v0.51.0 [SECURITY]
[backport] ([#5690](#5690))
([9e8616c](9e8616c))
* **loki.process:** Protect against json that does not look like docker
json format [backport]
([#5773](#5773))
([a0f1f8a](a0f1f8a))
* **loki.source.file:** Keep positions for compressed files when reading
is finished [backport]
([#5741](#5741))
([4f6d548](4f6d548))
* **otelcol.receiver.datadog:** Expose intake proxy and
trace_id_cache_size settings [backport]
([#5785](#5785))
([6d99ab5](6d99ab5))
* **prometheus.scrape:** Update arguments and targets even if
`scrape_native_histograms` and `extra_metrics` are updated [backport]
([#5792](#5792))
([76d398f](76d398f))

---
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/sOS that referenced this pull request Mar 20, 2026
##### [\`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](grafana/alloy#5730)) ([4393054](grafana/alloy@4393054))
  ([@thampiotr](https://github.com/thampiotr))
- **deps:** Update module golang.org/x/net to v0.51.0 \[SECURITY] \[backport] ([#5690](grafana/alloy#5690)) ([9e8616c](grafana/alloy@9e8616c))
- **loki.process:** Protect against json that does not look like docker json format \[backport] ([#5773](grafana/alloy#5773)) ([a0f1f8a](grafana/alloy@a0f1f8a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished \[backport] ([#5741](grafana/alloy#5741)) ([4f6d548](grafana/alloy@4f6d548))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings \[backport] ([#5785](grafana/alloy#5785)) ([6d99ab5](grafana/alloy@6d99ab5))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated \[backport] ([#5792](grafana/alloy#5792)) ([76d398f](grafana/alloy@76d398f)) ([@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](grafana/alloy#5444)) ([553f967](grafana/alloy@553f967))
  ([@gaantunes](https://github.com/gaantunes))
- Add limited type checking for validate command ([#5076](grafana/alloy#5076)) ([045fb76](grafana/alloy@045fb76))
  ([@kalleep](https://github.com/kalleep))
- **database\_observability.mysql:** Collect client info for query samples ([#5552](grafana/alloy#5552)) ([257a699](grafana/alloy@257a699))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add exclude databases/users for `logs` collector ([#5569](grafana/alloy#5569)) ([5dddd9b](grafana/alloy@5dddd9b))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Add logs collector ([#5445](grafana/alloy#5445)) ([46d79d4](grafana/alloy@46d79d4))
  ([@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](grafana/alloy#5544)) ([2d0ca15](grafana/alloy@2d0ca15))
  ([@cristiangreco](https://github.com/cristiangreco))
- Deprecate prometheus.write.queue ([#5509](grafana/alloy#5509)) ([ee0f227](grafana/alloy@ee0f227))
  ([@kgeckhart](https://github.com/kgeckhart), [@clayton-cornell](https://github.com/clayton-cornell))
- Introduce SeriesRefMappingStore ([#5522](grafana/alloy#5522)) ([33ee297](grafana/alloy@33ee297))
  ([@x1unix](https://github.com/x1unix), [@kgeckhart](https://github.com/kgeckhart))
- **local.file\_match, loki.source.file:** Match multiple files using doublestar `{...}` expressions ([#5470](grafana/alloy#5470)) ([284e48f](grafana/alloy@284e48f))
  ([@ptodev](https://github.com/ptodev))
- **loki.process:** Add debug metrics for CRI stage to track truncation of lines and partial line flushing ([#5399](grafana/alloy#5399)) ([a1728f6](grafana/alloy@a1728f6))
  ([@ptodev](https://github.com/ptodev))
- **mixin:** Add OTel Engine Overview dashboard ([#5573](grafana/alloy#5573)) ([df52116](grafana/alloy@df52116))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **mixin:** Add zipped dashboards as a release artifact ([#5603](grafana/alloy#5603)) ([4f7fe85](grafana/alloy@4f7fe85))
  ([@thampiotr](https://github.com/thampiotr))
- **otel:** Add receivers used in the otel k8s helm chart presets ([#5466](grafana/alloy#5466)) ([100f6ea](grafana/alloy@100f6ea))
  ([@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](grafana/alloy#5308)) ([237e985](grafana/alloy@237e985))
  ([@ptodev](https://github.com/ptodev))
- **otelcol:** Expose missing tail\_sampling drop and bytes\_limiting ([6021154](grafana/alloy@6021154))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.exporter.postgres:** Update to version `0.19.0` and expose new collectors settings  ([#4640](grafana/alloy#4640)) ([aa01e45](grafana/alloy@aa01e45))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.postgres:** Update to version 0.19.1 ([#5659](grafana/alloy#5659)) ([9f4e88f](grafana/alloy@9f4e88f))
  ([@cristiangreco](https://github.com/cristiangreco))
- Update github exporter with github app authentication ([#5377](grafana/alloy#5377)) ([ca741a6](grafana/alloy@ca741a6))
  ([@dehaansa](https://github.com/dehaansa), [@clayton-cornell](https://github.com/clayton-cornell))
- Update grafana cadvisor fork to v0.54.1 ([#5447](grafana/alloy#5447)) ([2a3aba0](grafana/alloy@2a3aba0))
  ([@dehaansa](https://github.com/dehaansa), [@blewis12](https://github.com/blewis12))
- Upgrade prometheus to version 0.309.1 ([#5479](grafana/alloy#5479)) ([633944b](grafana/alloy@633944b))
  ([@jharvey10](https://github.com/jharvey10))

##### Bug Fixes 🐛

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

##### Performance

- **loki.secretfilter:** Change secretfilter implementation to use Gitleaks ([#5503](grafana/alloy#5503)) ([08e265c](grafana/alloy@08e265c)) ([@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](grafana/alloy#5614)) ([3225ea3](grafana/alloy@3225ea3)) ([@thampiotr](https://github.com/thampiotr))
- **mixin:** Add zipped dashboards as a release artifact \[backport] ([#5625](grafana/alloy#5625)) ([37ff20f](grafana/alloy@37ff20f)) ([@thampiotr](https://github.com/thampiotr))
- **profiler:** Backport Go 1.26 gopclntab textStart fix ([#5572](grafana/alloy#5572)) ([5ca05c9](grafana/alloy@5ca05c9)) ([@marcsanmi](https://github.com/marcsanmi))
- **prometheus.exporter.postgres:** Update version of the exporter fork to fix pg\_settings ([#5574](grafana/alloy#5574)) ([62a52f8](grafana/alloy@62a52f8)) ([@cristiangreco](https://github.com/cristiangreco))
- **pyroscope.ebpf:** Backport dotnet nibble map fix ([#5553](grafana/alloy#5553)) ([6c62760](grafana/alloy@6c62760)) ([@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](grafana/alloy#5519)) ([fc49bfe](grafana/alloy@fc49bfe)) ([@fridgepoet](https://github.com/fridgepoet))
- **database\_observability.mysql:** Skip wait events with `NULL` timer\_wait \[backport] ([#5521](grafana/alloy#5521)) ([2f43c91](grafana/alloy@2f43c91)) ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Improvements to SET search\_path for postgres explain plans \[backport] ([#5520](grafana/alloy#5520)) ([ecbb577](grafana/alloy@ecbb577)) ([@rgeyer](https://github.com/rgeyer))
- **loki.process:** Registration of stage.metric when used inside stage.match \[backport] ([#5495](grafana/alloy#5495)) ([2bbc37e](grafana/alloy@2bbc37e))
- **loki.source.docker:** Parse timestamp correctly when log line only contains newline \[backport] ([#5496](grafana/alloy#5496)) ([55a82f0](grafana/alloy@55a82f0)) ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Close file if we cannot find encoding \[backport] ([#5531](grafana/alloy#5531)) ([ccda4a5](grafana/alloy@ccda4a5)) ([@kalleep](https://github.com/kalleep))
- **prometheus.receive\_http:** Bump prometheus patch for bugfix \[backport] ([#5516](grafana/alloy#5516)) ([b3531fb](grafana/alloy@b3531fb)) ([@kgeckhart](https://github.com/kgeckhart))
- **scheduling:** Shutdown runnables with a timeout before starting new ones \[backport] ([#5443](grafana/alloy#5443)) ([d446610](grafana/alloy@d446610)) ([@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](grafana/alloy#5058)) ([20900c6](grafana/alloy@20900c6))
- Add an `otelcol.processor.metric_start_time` component ([#5342](grafana/alloy#5342)) ([3fb13ac](grafana/alloy@3fb13ac))
- Add job level `period`, `length`, and `add_cloudwatch_timestamp` options and labels\_snake\_case to CW exporter \[backport] ([#5355](grafana/alloy#5355)) ([60d73b7](grafana/alloy@60d73b7))
- Add missing configuration parameter `deployment_name_from_replicaset` to k8sattributes processor ([#5183](grafana/alloy#5183)) ([b54ca77](grafana/alloy@b54ca77))
- Add parcas symbols upload to pyroscope.ebpf ([#4948](grafana/alloy#4948)) ([30f2242](grafana/alloy@30f2242))
- Add sharding for loki.write ([#4882](grafana/alloy#4882)) ([7570d65](grafana/alloy@7570d65))
- Add unexposed otel engine and extension to codebase and change build structure ([#5114](grafana/alloy#5114)) ([6438176](grafana/alloy@6438176))
- **beyla.ebpf:** Add meta\_cache\_address to beyla.ebpf.attributes.kubernetes ([#4871](grafana/alloy#4871)) ([08796f8](grafana/alloy@08796f8))
- **beyla.ebpf:** Upgrade Beyla to v2.8.5 ([f1f457f](grafana/alloy@f1f457f))
- Change the defaults for `sending_queue` > `batch` block inside `otelcol.exporter` components ([#5061](grafana/alloy#5061)) ([714a2ed](grafana/alloy@714a2ed))
- **cluster:** Support DNS discovery mode prefixes in --cluster.join-addresses flag ([#5034](grafana/alloy#5034)) ([08796f8](grafana/alloy@08796f8))
- **converter:** Update promtail converter to use file\_match block for loki.source.file ([#4791](grafana/alloy#4791)) ([08796f8](grafana/alloy@08796f8))
- Database\_observability: add health check collector for postgres component ([#5222](grafana/alloy#5222)) ([80917b1](grafana/alloy@80917b1))
- Database\_observability: expose `exclude_schemas` and `exclude_databases` settings ([#5334](grafana/alloy#5334)) ([37656f8](grafana/alloy@37656f8))
- Database\_observability: support Azure cloud provider config data ([#5245](grafana/alloy#5245)) ([d7a469f](grafana/alloy@d7a469f))
- Database\_observability: support Azure privatelink db name ([#5260](grafana/alloy#5260)) ([22e4991](grafana/alloy@22e4991))
- Database\_observability.mysql: support excluding schemas in all collectors \[backport] ([#5380](grafana/alloy#5380)) ([d67268c](grafana/alloy@d67268c))
- Database\_observability.postgres: support excluding DBs in all collectors \[backport] ([#5383](grafana/alloy#5383)) ([165492c](grafana/alloy@165492c))
- **database\_observability:** Add health\_check collector to validate configuration ([#5115](grafana/alloy#5115)) ([6d96740](grafana/alloy@6d96740))
- **database\_observability:** Always send explain plan log for each query including status ([#4969](grafana/alloy#4969)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Append cloud provider information labels to metrics ([#4942](grafana/alloy#4942)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Stop tracking own instrumentation queries ([#4991](grafana/alloy#4991)) ([0b55557](grafana/alloy@0b55557))
- **deps:** Update Prometheus to v3.8.0 and Loki to v3.6.2 ([#5035](grafana/alloy#5035)) ([08796f8](grafana/alloy@08796f8))
- Expose otel subcommand and add user-facing documentation ([#5244](grafana/alloy#5244)) ([93f20b8](grafana/alloy@93f20b8))
- Improve faro.receiver.sourcemaps caching strategy ([#4337](grafana/alloy#4337)) ([41e655c](grafana/alloy@41e655c))
- **loki.process:** Mark stage.windowsevent as GA ([#4879](grafana/alloy#4879)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.file:** Refactor tailer to reduce resource usage ([#5003](grafana/alloy#5003)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.syslog:** Implement livedebugging support ([#5216](grafana/alloy#5216)) ([e26badb](grafana/alloy@e26badb))
- **loki.source.syslog:** Support cisco-specific syslog fields ([#5165](grafana/alloy#5165)) ([3230ba0](grafana/alloy@3230ba0))
- **loki.source.syslog:** Support raw format ([#5140](grafana/alloy#5140)) ([923d127](grafana/alloy@923d127))
- **mimir.alerts.kubernetes:** Add `alertmanagerconfig_matcher` block to change the matcher strategy ([f2b9671](grafana/alloy@f2b9671))
- **mimir.alerts.kubernetes:** Add component to discover AlertmanagerConfig Kubernetes resources ([#3448](grafana/alloy#3448)) ([08796f8](grafana/alloy@08796f8))
- **mixin:** Provide rendered mixin outputs ([#5118](grafana/alloy#5118)) ([738b9fb](grafana/alloy@738b9fb))
- **otelcol.auth.basic:** Add htpasswd file based authentication ([#3916](grafana/alloy#3916)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.connector.count:** Add component to count spans, metrics, and logs ([#4913](grafana/alloy#4913)) ([08796f8](grafana/alloy@08796f8))
- **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](grafana/alloy#4475)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.exporter.prometheus:** Add `honor_metadata` config argument \[backport] ([#5439](grafana/alloy#5439)) ([32cb175](grafana/alloy@32cb175))
- **otelcol.receiver.awss3:** Add experimental receiver for traces stored in S3 ([#4928](grafana/alloy#4928)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.receiver.kafka:** Deprecate the `topic` attribute inside the `logs`, `metrics`, and `traces` blocks in favour of a new `topics` attribute. ([f1f457f](grafana/alloy@f1f457f))
- **otelcol.receiver.kafka:** Remove the global `topic` attribute ([f1f457f](grafana/alloy@f1f457f))
- **otelcol:** Upgrade to OTel Collector v0.142.0 ([f1f457f](grafana/alloy@f1f457f))
- **prometheus.echo:** Add component for local metrics inspection in exposition format ([#4105](grafana/alloy#4105)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.exporter.cloudwatch:** Add delay option to account for CloudWatch ingestion latency ([#4936](grafana/alloy#4936)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.exporter.databricks:** Add Databricks exporter component ([#5054](grafana/alloy#5054)) ([4442836](grafana/alloy@4442836))
- **prometheus.operator.scrapeconfigs:** Add HTTP service discovery support via httpSDConfigs ([#4826](grafana/alloy#4826)) ([08796f8](grafana/alloy@08796f8))
- **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](grafana/alloy#5045)) ([08796f8](grafana/alloy@08796f8))
- **prometheus:** Reduce resource overhead by removing unnecessary labelstore usage ([#4890](grafana/alloy#4890)) ([08796f8](grafana/alloy@08796f8))
- **pyroscope.ebpf:** Add `lazy_mode` argument to the `pyroscope.ebpf` to defer eBPF profiler startup until there are targets to profile ([#4824](grafana/alloy#4824)) ([08796f8](grafana/alloy@08796f8))
- **pyroscope.enrich:** Add experimental component to enrich profiles using discovery labels ([#4797](grafana/alloy#4797)) ([08796f8](grafana/alloy@08796f8))
- Strip comments from normalized sql text in `database_observability.postgres` ([#5005](grafana/alloy#5005)) ([a58721a](grafana/alloy@a58721a))
- Support setting default scrape limit for prometheus.operator components ([#5280](grafana/alloy#5280)) ([40ffe08](grafana/alloy@40ffe08))
- **tracing:** Add send\_traceparent option to enable traceparent header propagation ([#4874](grafana/alloy#4874)) ([08796f8](grafana/alloy@08796f8))

##### Bug Fixes 🐛

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

---
##### [\`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](grafana/alloy@5b90a9d)) ([@dehaansa](https://github.com/dehaansa))
- **database\_observability:** Fix schema\_details collector to fetch column definitions with case sensitive table names ([#4872](grafana/alloy#4872)) ([560dff4](grafana/alloy@560dff4)) ([@jharvey10](https://github.com/jharvey10), [@fridgepoet](https://github.com/fridgepoet))
- **deps:** Update jose2go to 1.7.0 ([#4858](grafana/alloy#4858)) ([dfdd341](grafana/alloy@dfdd341)) ([@jharvey10](https://github.com/jharvey10))
- **deps:** Update npm dependencies \[backport] ([#5201](grafana/alloy#5201)) ([8e06c26](grafana/alloy@8e06c26)) ([@jharvey10](https://github.com/jharvey10))
- Ensure the squid exporter wrapper properly brackets ipv6 addresses \[backport] ([#5205](grafana/alloy#5205)) ([e329cc6](grafana/alloy@e329cc6)) ([@dehaansa](https://github.com/dehaansa))
- Preserve meta labels in loki.source.podlogs ([#5097](grafana/alloy#5097)) ([ab4b21e](grafana/alloy@ab4b21e)) ([@kalleep](https://github.com/kalleep))
- Prevent panic in import.git when update fails \[backport] ([#5204](grafana/alloy#5204)) ([c82fbae](grafana/alloy@c82fbae)) ([@dehaansa](https://github.com/dehaansa), [@jharvey10](https://github.com/jharvey10))
- show correct fallback alloy version instead of v1.13.0 ([#5110](grafana/alloy#5110)) ([b72be99](grafana/alloy@b72be99)) ([@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/
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Mar 21, 2026
##### [\`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](grafana/alloy#5730)) ([4393054](grafana/alloy@4393054))
  ([@thampiotr](https://github.com/thampiotr))
- **deps:** Update module golang.org/x/net to v0.51.0 \[SECURITY] \[backport] ([#5690](grafana/alloy#5690)) ([9e8616c](grafana/alloy@9e8616c))
- **loki.process:** Protect against json that does not look like docker json format \[backport] ([#5773](grafana/alloy#5773)) ([a0f1f8a](grafana/alloy@a0f1f8a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished \[backport] ([#5741](grafana/alloy#5741)) ([4f6d548](grafana/alloy@4f6d548))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings \[backport] ([#5785](grafana/alloy#5785)) ([6d99ab5](grafana/alloy@6d99ab5))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated \[backport] ([#5792](grafana/alloy#5792)) ([76d398f](grafana/alloy@76d398f)) ([@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/
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Mar 21, 2026
##### [\`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](grafana/alloy#5730)) ([4393054](grafana/alloy@4393054))
  ([@thampiotr](https://github.com/thampiotr))
- **deps:** Update module golang.org/x/net to v0.51.0 \[SECURITY] \[backport] ([#5690](grafana/alloy#5690)) ([9e8616c](grafana/alloy@9e8616c))
- **loki.process:** Protect against json that does not look like docker json format \[backport] ([#5773](grafana/alloy#5773)) ([a0f1f8a](grafana/alloy@a0f1f8a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished \[backport] ([#5741](grafana/alloy#5741)) ([4f6d548](grafana/alloy@4f6d548))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings \[backport] ([#5785](grafana/alloy#5785)) ([6d99ab5](grafana/alloy@6d99ab5))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated \[backport] ([#5792](grafana/alloy#5792)) ([76d398f](grafana/alloy@76d398f)) ([@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/
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Mar 21, 2026
##### [\`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](grafana/alloy#5730)) ([4393054](grafana/alloy@4393054))
  ([@thampiotr](https://github.com/thampiotr))
- **deps:** Update module golang.org/x/net to v0.51.0 \[SECURITY] \[backport] ([#5690](grafana/alloy#5690)) ([9e8616c](grafana/alloy@9e8616c))
- **loki.process:** Protect against json that does not look like docker json format \[backport] ([#5773](grafana/alloy#5773)) ([a0f1f8a](grafana/alloy@a0f1f8a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished \[backport] ([#5741](grafana/alloy#5741)) ([4f6d548](grafana/alloy@4f6d548))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings \[backport] ([#5785](grafana/alloy#5785)) ([6d99ab5](grafana/alloy@6d99ab5))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated \[backport] ([#5792](grafana/alloy#5792)) ([76d398f](grafana/alloy@76d398f)) ([@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/
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Mar 21, 2026
##### [\`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](grafana/alloy#5730)) ([4393054](grafana/alloy@4393054))
  ([@thampiotr](https://github.com/thampiotr))
- **deps:** Update module golang.org/x/net to v0.51.0 \[SECURITY] \[backport] ([#5690](grafana/alloy#5690)) ([9e8616c](grafana/alloy@9e8616c))
- **loki.process:** Protect against json that does not look like docker json format \[backport] ([#5773](grafana/alloy#5773)) ([a0f1f8a](grafana/alloy@a0f1f8a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished \[backport] ([#5741](grafana/alloy#5741)) ([4f6d548](grafana/alloy@4f6d548))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings \[backport] ([#5785](grafana/alloy#5785)) ([6d99ab5](grafana/alloy@6d99ab5))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated \[backport] ([#5792](grafana/alloy#5792)) ([76d398f](grafana/alloy@76d398f)) ([@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/
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Mar 24, 2026
This MR contains the following updates:

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

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.14.1`](https://github.com/grafana/alloy/releases/tag/v1.14.1)

[Compare Source](grafana/alloy@v1.14.0...v1.14.1)

##### Bug Fixes 🐛

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

[Compare Source](grafana/alloy@v1.13.2...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 ([#&#8203;5444](grafana/alloy#5444)) ([553f967](grafana/alloy@553f967))  ([@&#8203;gaantunes](https://github.com/gaantunes))
- Add limited type checking for validate command ([#&#8203;5076](grafana/alloy#5076)) ([045fb76](grafana/alloy@045fb76))  ([@&#8203;kalleep](https://github.com/kalleep))
- **database\_observability.mysql:** Collect client info for query samples ([#&#8203;5552](grafana/alloy#5552)) ([257a699](grafana/alloy@257a699))  ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add exclude databases/users for `logs` collector ([#&#8203;5569](grafana/alloy#5569)) ([5dddd9b](grafana/alloy@5dddd9b))  ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Add logs collector ([#&#8203;5445](grafana/alloy#5445)) ([46d79d4](grafana/alloy@46d79d4))  ([@&#8203;gaantunes](https://github.com/gaantunes), [@&#8203;cursoragent](https://github.com/cursoragent), [@&#8203;clayton-cornell](https://github.com/clayton-cornell), [@&#8203;cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Allow excluding queries ran by specific users ([#&#8203;5544](grafana/alloy#5544)) ([2d0ca15](grafana/alloy@2d0ca15))  ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Deprecate prometheus.write.queue ([#&#8203;5509](grafana/alloy#5509)) ([ee0f227](grafana/alloy@ee0f227))  ([@&#8203;kgeckhart](https://github.com/kgeckhart), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- Introduce SeriesRefMappingStore ([#&#8203;5522](grafana/alloy#5522)) ([33ee297](grafana/alloy@33ee297))  ([@&#8203;x1unix](https://github.com/x1unix), [@&#8203;kgeckhart](https://github.com/kgeckhart))
- **local.file\_match, loki.source.file:** Match multiple files using doublestar `{...}` expressions ([#&#8203;5470](grafana/alloy#5470)) ([284e48f](grafana/alloy@284e48f))  ([@&#8203;ptodev](https://github.com/ptodev))
- **loki.process:** Add debug metrics for CRI stage to track truncation of lines and partial line flushing ([#&#8203;5399](grafana/alloy#5399)) ([a1728f6](grafana/alloy@a1728f6))  ([@&#8203;ptodev](https://github.com/ptodev))
- **mixin:** Add OTel Engine Overview dashboard ([#&#8203;5573](grafana/alloy#5573)) ([df52116](grafana/alloy@df52116))  ([@&#8203;thampiotr](https://github.com/thampiotr), [@&#8203;cursoragent](https://github.com/cursoragent))
- **mixin:** Add zipped dashboards as a release artifact ([#&#8203;5603](grafana/alloy#5603)) ([4f7fe85](grafana/alloy@4f7fe85))  ([@&#8203;thampiotr](https://github.com/thampiotr))
- **otel:** Add receivers used in the otel k8s helm chart presets ([#&#8203;5466](grafana/alloy#5466)) ([100f6ea](grafana/alloy@100f6ea))  ([@&#8203;kgeckhart](https://github.com/kgeckhart), [@&#8203;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. ([#&#8203;5308](grafana/alloy#5308)) ([237e985](grafana/alloy@237e985))  ([@&#8203;ptodev](https://github.com/ptodev))
- **otelcol:** Expose missing tail\_sampling drop and bytes\_limiting ([6021154](grafana/alloy@6021154))  ([@&#8203;thampiotr](https://github.com/thampiotr))
- **prometheus.exporter.postgres:** Update to version `0.19.0` and expose new collectors settings  ([#&#8203;4640](grafana/alloy#4640)) ([aa01e45](grafana/alloy@aa01e45))  ([@&#8203;cristiangreco](https://github.com/cristiangreco), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.postgres:** Update to version 0.19.1 ([#&#8203;5659](grafana/alloy#5659)) ([9f4e88f](grafana/alloy@9f4e88f))  ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Update github exporter with github app authentication ([#&#8203;5377](grafana/alloy#5377)) ([ca741a6](grafana/alloy@ca741a6))  ([@&#8203;dehaansa](https://github.com/dehaansa), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- Update grafana cadvisor fork to v0.54.1 ([#&#8203;5447](grafana/alloy#5447)) ([2a3aba0](grafana/alloy@2a3aba0))  ([@&#8203;dehaansa](https://github.com/dehaansa), [@&#8203;blewis12](https://github.com/blewis12))
- Upgrade prometheus to version 0.309.1 ([#&#8203;5479](grafana/alloy#5479)) ([633944b](grafana/alloy@633944b))  ([@&#8203;jharvey10](https://github.com/jharvey10))

##### Bug Fixes 🐛

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

##### Performance

- **loki.secretfilter:** Change secretfilter implementation to use Gitleaks ([#&#8203;5503](grafana/alloy#5503)) ([08e265c](grafana/alloy@08e265c)) ([@&#8203;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/

</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:eyJjcmVhdGVkSW5WZXIiOiI0My42MS43IiwidXBkYXRlZEluVmVyIjoiNDMuNzcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90IiwiYXV0b21hdGlvbjpib3QtYXV0aG9yZWQiLCJkZXBlbmRlbmN5LXR5cGU6Om1pbm9yIl19-->
renovate Bot added a commit to sdwilsh/sOS that referenced this pull request Mar 24, 2026
##### [\`v1.14.2\`](grafana/alloy@v1.14.1...v1.14.2)


---
##### [\`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](grafana/alloy#5730)) ([4393054](grafana/alloy@4393054))
  ([@thampiotr](https://github.com/thampiotr))
- **deps:** Update module golang.org/x/net to v0.51.0 \[SECURITY] \[backport] ([#5690](grafana/alloy#5690)) ([9e8616c](grafana/alloy@9e8616c))
- **loki.process:** Protect against json that does not look like docker json format \[backport] ([#5773](grafana/alloy#5773)) ([a0f1f8a](grafana/alloy@a0f1f8a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished \[backport] ([#5741](grafana/alloy#5741)) ([4f6d548](grafana/alloy@4f6d548))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings \[backport] ([#5785](grafana/alloy#5785)) ([6d99ab5](grafana/alloy@6d99ab5))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated \[backport] ([#5792](grafana/alloy#5792)) ([76d398f](grafana/alloy@76d398f)) ([@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](grafana/alloy#5444)) ([553f967](grafana/alloy@553f967))
  ([@gaantunes](https://github.com/gaantunes))
- Add limited type checking for validate command ([#5076](grafana/alloy#5076)) ([045fb76](grafana/alloy@045fb76))
  ([@kalleep](https://github.com/kalleep))
- **database\_observability.mysql:** Collect client info for query samples ([#5552](grafana/alloy#5552)) ([257a699](grafana/alloy@257a699))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add exclude databases/users for `logs` collector ([#5569](grafana/alloy#5569)) ([5dddd9b](grafana/alloy@5dddd9b))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Add logs collector ([#5445](grafana/alloy#5445)) ([46d79d4](grafana/alloy@46d79d4))
  ([@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](grafana/alloy#5544)) ([2d0ca15](grafana/alloy@2d0ca15))
  ([@cristiangreco](https://github.com/cristiangreco))
- Deprecate prometheus.write.queue ([#5509](grafana/alloy#5509)) ([ee0f227](grafana/alloy@ee0f227))
  ([@kgeckhart](https://github.com/kgeckhart), [@clayton-cornell](https://github.com/clayton-cornell))
- Introduce SeriesRefMappingStore ([#5522](grafana/alloy#5522)) ([33ee297](grafana/alloy@33ee297))
  ([@x1unix](https://github.com/x1unix), [@kgeckhart](https://github.com/kgeckhart))
- **local.file\_match, loki.source.file:** Match multiple files using doublestar `{...}` expressions ([#5470](grafana/alloy#5470)) ([284e48f](grafana/alloy@284e48f))
  ([@ptodev](https://github.com/ptodev))
- **loki.process:** Add debug metrics for CRI stage to track truncation of lines and partial line flushing ([#5399](grafana/alloy#5399)) ([a1728f6](grafana/alloy@a1728f6))
  ([@ptodev](https://github.com/ptodev))
- **mixin:** Add OTel Engine Overview dashboard ([#5573](grafana/alloy#5573)) ([df52116](grafana/alloy@df52116))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **mixin:** Add zipped dashboards as a release artifact ([#5603](grafana/alloy#5603)) ([4f7fe85](grafana/alloy@4f7fe85))
  ([@thampiotr](https://github.com/thampiotr))
- **otel:** Add receivers used in the otel k8s helm chart presets ([#5466](grafana/alloy#5466)) ([100f6ea](grafana/alloy@100f6ea))
  ([@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](grafana/alloy#5308)) ([237e985](grafana/alloy@237e985))
  ([@ptodev](https://github.com/ptodev))
- **otelcol:** Expose missing tail\_sampling drop and bytes\_limiting ([6021154](grafana/alloy@6021154))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.exporter.postgres:** Update to version `0.19.0` and expose new collectors settings  ([#4640](grafana/alloy#4640)) ([aa01e45](grafana/alloy@aa01e45))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.postgres:** Update to version 0.19.1 ([#5659](grafana/alloy#5659)) ([9f4e88f](grafana/alloy@9f4e88f))
  ([@cristiangreco](https://github.com/cristiangreco))
- Update github exporter with github app authentication ([#5377](grafana/alloy#5377)) ([ca741a6](grafana/alloy@ca741a6))
  ([@dehaansa](https://github.com/dehaansa), [@clayton-cornell](https://github.com/clayton-cornell))
- Update grafana cadvisor fork to v0.54.1 ([#5447](grafana/alloy#5447)) ([2a3aba0](grafana/alloy@2a3aba0))
  ([@dehaansa](https://github.com/dehaansa), [@blewis12](https://github.com/blewis12))
- Upgrade prometheus to version 0.309.1 ([#5479](grafana/alloy#5479)) ([633944b](grafana/alloy@633944b))
  ([@jharvey10](https://github.com/jharvey10))

##### Bug Fixes 🐛

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

##### Performance

- **loki.secretfilter:** Change secretfilter implementation to use Gitleaks ([#5503](grafana/alloy#5503)) ([08e265c](grafana/alloy@08e265c)) ([@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](grafana/alloy#5614)) ([3225ea3](grafana/alloy@3225ea3)) ([@thampiotr](https://github.com/thampiotr))
- **mixin:** Add zipped dashboards as a release artifact \[backport] ([#5625](grafana/alloy#5625)) ([37ff20f](grafana/alloy@37ff20f)) ([@thampiotr](https://github.com/thampiotr))
- **profiler:** Backport Go 1.26 gopclntab textStart fix ([#5572](grafana/alloy#5572)) ([5ca05c9](grafana/alloy@5ca05c9)) ([@marcsanmi](https://github.com/marcsanmi))
- **prometheus.exporter.postgres:** Update version of the exporter fork to fix pg\_settings ([#5574](grafana/alloy#5574)) ([62a52f8](grafana/alloy@62a52f8)) ([@cristiangreco](https://github.com/cristiangreco))
- **pyroscope.ebpf:** Backport dotnet nibble map fix ([#5553](grafana/alloy#5553)) ([6c62760](grafana/alloy@6c62760)) ([@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](grafana/alloy#5519)) ([fc49bfe](grafana/alloy@fc49bfe)) ([@fridgepoet](https://github.com/fridgepoet))
- **database\_observability.mysql:** Skip wait events with `NULL` timer\_wait \[backport] ([#5521](grafana/alloy#5521)) ([2f43c91](grafana/alloy@2f43c91)) ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Improvements to SET search\_path for postgres explain plans \[backport] ([#5520](grafana/alloy#5520)) ([ecbb577](grafana/alloy@ecbb577)) ([@rgeyer](https://github.com/rgeyer))
- **loki.process:** Registration of stage.metric when used inside stage.match \[backport] ([#5495](grafana/alloy#5495)) ([2bbc37e](grafana/alloy@2bbc37e))
- **loki.source.docker:** Parse timestamp correctly when log line only contains newline \[backport] ([#5496](grafana/alloy#5496)) ([55a82f0](grafana/alloy@55a82f0)) ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Close file if we cannot find encoding \[backport] ([#5531](grafana/alloy#5531)) ([ccda4a5](grafana/alloy@ccda4a5)) ([@kalleep](https://github.com/kalleep))
- **prometheus.receive\_http:** Bump prometheus patch for bugfix \[backport] ([#5516](grafana/alloy#5516)) ([b3531fb](grafana/alloy@b3531fb)) ([@kgeckhart](https://github.com/kgeckhart))
- **scheduling:** Shutdown runnables with a timeout before starting new ones \[backport] ([#5443](grafana/alloy#5443)) ([d446610](grafana/alloy@d446610)) ([@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](grafana/alloy#5058)) ([20900c6](grafana/alloy@20900c6))
- Add an `otelcol.processor.metric_start_time` component ([#5342](grafana/alloy#5342)) ([3fb13ac](grafana/alloy@3fb13ac))
- Add job level `period`, `length`, and `add_cloudwatch_timestamp` options and labels\_snake\_case to CW exporter \[backport] ([#5355](grafana/alloy#5355)) ([60d73b7](grafana/alloy@60d73b7))
- Add missing configuration parameter `deployment_name_from_replicaset` to k8sattributes processor ([#5183](grafana/alloy#5183)) ([b54ca77](grafana/alloy@b54ca77))
- Add parcas symbols upload to pyroscope.ebpf ([#4948](grafana/alloy#4948)) ([30f2242](grafana/alloy@30f2242))
- Add sharding for loki.write ([#4882](grafana/alloy#4882)) ([7570d65](grafana/alloy@7570d65))
- Add unexposed otel engine and extension to codebase and change build structure ([#5114](grafana/alloy#5114)) ([6438176](grafana/alloy@6438176))
- **beyla.ebpf:** Add meta\_cache\_address to beyla.ebpf.attributes.kubernetes ([#4871](grafana/alloy#4871)) ([08796f8](grafana/alloy@08796f8))
- **beyla.ebpf:** Upgrade Beyla to v2.8.5 ([f1f457f](grafana/alloy@f1f457f))
- Change the defaults for `sending_queue` > `batch` block inside `otelcol.exporter` components ([#5061](grafana/alloy#5061)) ([714a2ed](grafana/alloy@714a2ed))
- **cluster:** Support DNS discovery mode prefixes in --cluster.join-addresses flag ([#5034](grafana/alloy#5034)) ([08796f8](grafana/alloy@08796f8))
- **converter:** Update promtail converter to use file\_match block for loki.source.file ([#4791](grafana/alloy#4791)) ([08796f8](grafana/alloy@08796f8))
- Database\_observability: add health check collector for postgres component ([#5222](grafana/alloy#5222)) ([80917b1](grafana/alloy@80917b1))
- Database\_observability: expose `exclude_schemas` and `exclude_databases` settings ([#5334](grafana/alloy#5334)) ([37656f8](grafana/alloy@37656f8))
- Database\_observability: support Azure cloud provider config data ([#5245](grafana/alloy#5245)) ([d7a469f](grafana/alloy@d7a469f))
- Database\_observability: support Azure privatelink db name ([#5260](grafana/alloy#5260)) ([22e4991](grafana/alloy@22e4991))
- Database\_observability.mysql: support excluding schemas in all collectors \[backport] ([#5380](grafana/alloy#5380)) ([d67268c](grafana/alloy@d67268c))
- Database\_observability.postgres: support excluding DBs in all collectors \[backport] ([#5383](grafana/alloy#5383)) ([165492c](grafana/alloy@165492c))
- **database\_observability:** Add health\_check collector to validate configuration ([#5115](grafana/alloy#5115)) ([6d96740](grafana/alloy@6d96740))
- **database\_observability:** Always send explain plan log for each query including status ([#4969](grafana/alloy#4969)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Append cloud provider information labels to metrics ([#4942](grafana/alloy#4942)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Stop tracking own instrumentation queries ([#4991](grafana/alloy#4991)) ([0b55557](grafana/alloy@0b55557))
- **deps:** Update Prometheus to v3.8.0 and Loki to v3.6.2 ([#5035](grafana/alloy#5035)) ([08796f8](grafana/alloy@08796f8))
- Expose otel subcommand and add user-facing documentation ([#5244](grafana/alloy#5244)) ([93f20b8](grafana/alloy@93f20b8))
- Improve faro.receiver.sourcemaps caching strategy ([#4337](grafana/alloy#4337)) ([41e655c](grafana/alloy@41e655c))
- **loki.process:** Mark stage.windowsevent as GA ([#4879](grafana/alloy#4879)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.file:** Refactor tailer to reduce resource usage ([#5003](grafana/alloy#5003)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.syslog:** Implement livedebugging support ([#5216](grafana/alloy#5216)) ([e26badb](grafana/alloy@e26badb))
- **loki.source.syslog:** Support cisco-specific syslog fields ([#5165](grafana/alloy#5165)) ([3230ba0](grafana/alloy@3230ba0))
- **loki.source.syslog:** Support raw format ([#5140](grafana/alloy#5140)) ([923d127](grafana/alloy@923d127))
- **mimir.alerts.kubernetes:** Add `alertmanagerconfig_matcher` block to change the matcher strategy ([f2b9671](grafana/alloy@f2b9671))
- **mimir.alerts.kubernetes:** Add component to discover AlertmanagerConfig Kubernetes resources ([#3448](grafana/alloy#3448)) ([08796f8](grafana/alloy@08796f8))
- **mixin:** Provide rendered mixin outputs ([#5118](grafana/alloy#5118)) ([738b9fb](grafana/alloy@738b9fb))
- **otelcol.auth.basic:** Add htpasswd file based authentication ([#3916](grafana/alloy#3916)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.connector.count:** Add component to count spans, metrics, and logs ([#4913](grafana/alloy#4913)) ([08796f8](grafana/alloy@08796f8))
- **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](grafana/alloy#4475)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.exporter.prometheus:** Add `honor_metadata` config argument \[backport] ([#5439](grafana/alloy#5439)) ([32cb175](grafana/alloy@32cb175))
- **otelcol.receiver.awss3:** Add experimental receiver for traces stored in S3 ([#4928](grafana/alloy#4928)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.receiver.kafka:** Deprecate the `topic` attribute inside the `logs`, `metrics`, and `traces` blocks in favour of a new `topics` attribute. ([f1f457f](grafana/alloy@f1f457f))
- **otelcol.receiver.kafka:** Remove the global `topic` attribute ([f1f457f](grafana/alloy@f1f457f))
- **otelcol:** Upgrade to OTel Collector v0.142.0 ([f1f457f](grafana/alloy@f1f457f))
- **prometheus.echo:** Add component for local metrics inspection in exposition format ([#4105](grafana/alloy#4105)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.exporter.cloudwatch:** Add delay option to account for CloudWatch ingestion latency ([#4936](grafana/alloy#4936)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.exporter.databricks:** Add Databricks exporter component ([#5054](grafana/alloy#5054)) ([4442836](grafana/alloy@4442836))
- **prometheus.operator.scrapeconfigs:** Add HTTP service discovery support via httpSDConfigs ([#4826](grafana/alloy#4826)) ([08796f8](grafana/alloy@08796f8))
- **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](grafana/alloy#5045)) ([08796f8](grafana/alloy@08796f8))
- **prometheus:** Reduce resource overhead by removing unnecessary labelstore usage ([#4890](grafana/alloy#4890)) ([08796f8](grafana/alloy@08796f8))
- **pyroscope.ebpf:** Add `lazy_mode` argument to the `pyroscope.ebpf` to defer eBPF profiler startup until there are targets to profile ([#4824](grafana/alloy#4824)) ([08796f8](grafana/alloy@08796f8))
- **pyroscope.enrich:** Add experimental component to enrich profiles using discovery labels ([#4797](grafana/alloy#4797)) ([08796f8](grafana/alloy@08796f8))
- Strip comments from normalized sql text in `database_observability.postgres` ([#5005](grafana/alloy#5005)) ([a58721a](grafana/alloy@a58721a))
- Support setting default scrape limit for prometheus.operator components ([#5280](grafana/alloy#5280)) ([40ffe08](grafana/alloy@40ffe08))
- **tracing:** Add send\_traceparent option to enable traceparent header propagation ([#4874](grafana/alloy#4874)) ([08796f8](grafana/alloy@08796f8))

##### Bug Fixes 🐛

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

---
##### [\`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](grafana/alloy@5b90a9d)) ([@dehaansa](https://github.com/dehaansa))
- **database\_observability:** Fix schema\_details collector to fetch column definitions with case sensitive table names ([#4872](grafana/alloy#4872)) ([560dff4](grafana/alloy@560dff4)) ([@jharvey10](https://github.com/jharvey10), [@fridgepoet](https://github.com/fridgepoet))
- **deps:** Update jose2go to 1.7.0 ([#4858](grafana/alloy#4858)) ([dfdd341](grafana/alloy@dfdd341)) ([@jharvey10](https://github.com/jharvey10))
- **deps:** Update npm dependencies \[backport] ([#5201](grafana/alloy#5201)) ([8e06c26](grafana/alloy@8e06c26)) ([@jharvey10](https://github.com/jharvey10))
- Ensure the squid exporter wrapper properly brackets ipv6 addresses \[backport] ([#5205](grafana/alloy#5205)) ([e329cc6](grafana/alloy@e329cc6)) ([@dehaansa](https://github.com/dehaansa))
- Preserve meta labels in loki.source.podlogs ([#5097](grafana/alloy#5097)) ([ab4b21e](grafana/alloy@ab4b21e)) ([@kalleep](https://github.com/kalleep))
- Prevent panic in import.git when update fails \[backport] ([#5204](grafana/alloy#5204)) ([c82fbae](grafana/alloy@c82fbae)) ([@dehaansa](https://github.com/dehaansa), [@jharvey10](https://github.com/jharvey10))
- show correct fallback alloy version instead of v1.13.0 ([#5110](grafana/alloy#5110)) ([b72be99](grafana/alloy@b72be99)) ([@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/
renovate Bot added a commit to sdwilsh/sOS that referenced this pull request Mar 30, 2026
##### [\`v1.15.0\`](grafana/alloy@v1.14.2...v1.15.0-rc.0)


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

##### Bug Fixes 🐛

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

#### 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](grafana/alloy#5730)) ([4393054](grafana/alloy@4393054))
  ([@thampiotr](https://github.com/thampiotr))
- **deps:** Update module golang.org/x/net to v0.51.0 \[SECURITY] \[backport] ([#5690](grafana/alloy#5690)) ([9e8616c](grafana/alloy@9e8616c))
- **loki.process:** Protect against json that does not look like docker json format \[backport] ([#5773](grafana/alloy#5773)) ([a0f1f8a](grafana/alloy@a0f1f8a))
  ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Keep positions for compressed files when reading is finished \[backport] ([#5741](grafana/alloy#5741)) ([4f6d548](grafana/alloy@4f6d548))
  ([@kalleep](https://github.com/kalleep))
- **otelcol.receiver.datadog:** Expose intake proxy and trace\_id\_cache\_size settings \[backport] ([#5785](grafana/alloy#5785)) ([6d99ab5](grafana/alloy@6d99ab5))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.scrape:** Update arguments and targets even if `scrape_native_histograms` and `extra_metrics` are updated \[backport] ([#5792](grafana/alloy#5792)) ([76d398f](grafana/alloy@76d398f)) ([@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](grafana/alloy#5444)) ([553f967](grafana/alloy@553f967))
  ([@gaantunes](https://github.com/gaantunes))
- Add limited type checking for validate command ([#5076](grafana/alloy#5076)) ([045fb76](grafana/alloy@045fb76))
  ([@kalleep](https://github.com/kalleep))
- **database\_observability.mysql:** Collect client info for query samples ([#5552](grafana/alloy#5552)) ([257a699](grafana/alloy@257a699))
  ([@matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add exclude databases/users for `logs` collector ([#5569](grafana/alloy#5569)) ([5dddd9b](grafana/alloy@5dddd9b))
  ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Add logs collector ([#5445](grafana/alloy#5445)) ([46d79d4](grafana/alloy@46d79d4))
  ([@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](grafana/alloy#5544)) ([2d0ca15](grafana/alloy@2d0ca15))
  ([@cristiangreco](https://github.com/cristiangreco))
- Deprecate prometheus.write.queue ([#5509](grafana/alloy#5509)) ([ee0f227](grafana/alloy@ee0f227))
  ([@kgeckhart](https://github.com/kgeckhart), [@clayton-cornell](https://github.com/clayton-cornell))
- Introduce SeriesRefMappingStore ([#5522](grafana/alloy#5522)) ([33ee297](grafana/alloy@33ee297))
  ([@x1unix](https://github.com/x1unix), [@kgeckhart](https://github.com/kgeckhart))
- **local.file\_match, loki.source.file:** Match multiple files using doublestar `{...}` expressions ([#5470](grafana/alloy#5470)) ([284e48f](grafana/alloy@284e48f))
  ([@ptodev](https://github.com/ptodev))
- **loki.process:** Add debug metrics for CRI stage to track truncation of lines and partial line flushing ([#5399](grafana/alloy#5399)) ([a1728f6](grafana/alloy@a1728f6))
  ([@ptodev](https://github.com/ptodev))
- **mixin:** Add OTel Engine Overview dashboard ([#5573](grafana/alloy#5573)) ([df52116](grafana/alloy@df52116))
  ([@thampiotr](https://github.com/thampiotr), [@cursoragent](https://github.com/cursoragent))
- **mixin:** Add zipped dashboards as a release artifact ([#5603](grafana/alloy#5603)) ([4f7fe85](grafana/alloy@4f7fe85))
  ([@thampiotr](https://github.com/thampiotr))
- **otel:** Add receivers used in the otel k8s helm chart presets ([#5466](grafana/alloy#5466)) ([100f6ea](grafana/alloy@100f6ea))
  ([@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](grafana/alloy#5308)) ([237e985](grafana/alloy@237e985))
  ([@ptodev](https://github.com/ptodev))
- **otelcol:** Expose missing tail\_sampling drop and bytes\_limiting ([6021154](grafana/alloy@6021154))
  ([@thampiotr](https://github.com/thampiotr))
- **prometheus.exporter.postgres:** Update to version `0.19.0` and expose new collectors settings  ([#4640](grafana/alloy#4640)) ([aa01e45](grafana/alloy@aa01e45))
  ([@cristiangreco](https://github.com/cristiangreco), [@clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.exporter.postgres:** Update to version 0.19.1 ([#5659](grafana/alloy#5659)) ([9f4e88f](grafana/alloy@9f4e88f))
  ([@cristiangreco](https://github.com/cristiangreco))
- Update github exporter with github app authentication ([#5377](grafana/alloy#5377)) ([ca741a6](grafana/alloy@ca741a6))
  ([@dehaansa](https://github.com/dehaansa), [@clayton-cornell](https://github.com/clayton-cornell))
- Update grafana cadvisor fork to v0.54.1 ([#5447](grafana/alloy#5447)) ([2a3aba0](grafana/alloy@2a3aba0))
  ([@dehaansa](https://github.com/dehaansa), [@blewis12](https://github.com/blewis12))
- Upgrade prometheus to version 0.309.1 ([#5479](grafana/alloy#5479)) ([633944b](grafana/alloy@633944b))
  ([@jharvey10](https://github.com/jharvey10))

##### Bug Fixes 🐛

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

##### Performance

- **loki.secretfilter:** Change secretfilter implementation to use Gitleaks ([#5503](grafana/alloy#5503)) ([08e265c](grafana/alloy@08e265c)) ([@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](grafana/alloy#5614)) ([3225ea3](grafana/alloy@3225ea3)) ([@thampiotr](https://github.com/thampiotr))
- **mixin:** Add zipped dashboards as a release artifact \[backport] ([#5625](grafana/alloy#5625)) ([37ff20f](grafana/alloy@37ff20f)) ([@thampiotr](https://github.com/thampiotr))
- **profiler:** Backport Go 1.26 gopclntab textStart fix ([#5572](grafana/alloy#5572)) ([5ca05c9](grafana/alloy@5ca05c9)) ([@marcsanmi](https://github.com/marcsanmi))
- **prometheus.exporter.postgres:** Update version of the exporter fork to fix pg\_settings ([#5574](grafana/alloy#5574)) ([62a52f8](grafana/alloy@62a52f8)) ([@cristiangreco](https://github.com/cristiangreco))
- **pyroscope.ebpf:** Backport dotnet nibble map fix ([#5553](grafana/alloy#5553)) ([6c62760](grafana/alloy@6c62760)) ([@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](grafana/alloy#5519)) ([fc49bfe](grafana/alloy@fc49bfe)) ([@fridgepoet](https://github.com/fridgepoet))
- **database\_observability.mysql:** Skip wait events with `NULL` timer\_wait \[backport] ([#5521](grafana/alloy#5521)) ([2f43c91](grafana/alloy@2f43c91)) ([@cristiangreco](https://github.com/cristiangreco))
- **database\_observability.postgres:** Improvements to SET search\_path for postgres explain plans \[backport] ([#5520](grafana/alloy#5520)) ([ecbb577](grafana/alloy@ecbb577)) ([@rgeyer](https://github.com/rgeyer))
- **loki.process:** Registration of stage.metric when used inside stage.match \[backport] ([#5495](grafana/alloy#5495)) ([2bbc37e](grafana/alloy@2bbc37e))
- **loki.source.docker:** Parse timestamp correctly when log line only contains newline \[backport] ([#5496](grafana/alloy#5496)) ([55a82f0](grafana/alloy@55a82f0)) ([@kalleep](https://github.com/kalleep))
- **loki.source.file:** Close file if we cannot find encoding \[backport] ([#5531](grafana/alloy#5531)) ([ccda4a5](grafana/alloy@ccda4a5)) ([@kalleep](https://github.com/kalleep))
- **prometheus.receive\_http:** Bump prometheus patch for bugfix \[backport] ([#5516](grafana/alloy#5516)) ([b3531fb](grafana/alloy@b3531fb)) ([@kgeckhart](https://github.com/kgeckhart))
- **scheduling:** Shutdown runnables with a timeout before starting new ones \[backport] ([#5443](grafana/alloy#5443)) ([d446610](grafana/alloy@d446610)) ([@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](grafana/alloy#5058)) ([20900c6](grafana/alloy@20900c6))
- Add an `otelcol.processor.metric_start_time` component ([#5342](grafana/alloy#5342)) ([3fb13ac](grafana/alloy@3fb13ac))
- Add job level `period`, `length`, and `add_cloudwatch_timestamp` options and labels\_snake\_case to CW exporter \[backport] ([#5355](grafana/alloy#5355)) ([60d73b7](grafana/alloy@60d73b7))
- Add missing configuration parameter `deployment_name_from_replicaset` to k8sattributes processor ([#5183](grafana/alloy#5183)) ([b54ca77](grafana/alloy@b54ca77))
- Add parcas symbols upload to pyroscope.ebpf ([#4948](grafana/alloy#4948)) ([30f2242](grafana/alloy@30f2242))
- Add sharding for loki.write ([#4882](grafana/alloy#4882)) ([7570d65](grafana/alloy@7570d65))
- Add unexposed otel engine and extension to codebase and change build structure ([#5114](grafana/alloy#5114)) ([6438176](grafana/alloy@6438176))
- **beyla.ebpf:** Add meta\_cache\_address to beyla.ebpf.attributes.kubernetes ([#4871](grafana/alloy#4871)) ([08796f8](grafana/alloy@08796f8))
- **beyla.ebpf:** Upgrade Beyla to v2.8.5 ([f1f457f](grafana/alloy@f1f457f))
- Change the defaults for `sending_queue` > `batch` block inside `otelcol.exporter` components ([#5061](grafana/alloy#5061)) ([714a2ed](grafana/alloy@714a2ed))
- **cluster:** Support DNS discovery mode prefixes in --cluster.join-addresses flag ([#5034](grafana/alloy#5034)) ([08796f8](grafana/alloy@08796f8))
- **converter:** Update promtail converter to use file\_match block for loki.source.file ([#4791](grafana/alloy#4791)) ([08796f8](grafana/alloy@08796f8))
- Database\_observability: add health check collector for postgres component ([#5222](grafana/alloy#5222)) ([80917b1](grafana/alloy@80917b1))
- Database\_observability: expose `exclude_schemas` and `exclude_databases` settings ([#5334](grafana/alloy#5334)) ([37656f8](grafana/alloy@37656f8))
- Database\_observability: support Azure cloud provider config data ([#5245](grafana/alloy#5245)) ([d7a469f](grafana/alloy@d7a469f))
- Database\_observability: support Azure privatelink db name ([#5260](grafana/alloy#5260)) ([22e4991](grafana/alloy@22e4991))
- Database\_observability.mysql: support excluding schemas in all collectors \[backport] ([#5380](grafana/alloy#5380)) ([d67268c](grafana/alloy@d67268c))
- Database\_observability.postgres: support excluding DBs in all collectors \[backport] ([#5383](grafana/alloy#5383)) ([165492c](grafana/alloy@165492c))
- **database\_observability:** Add health\_check collector to validate configuration ([#5115](grafana/alloy#5115)) ([6d96740](grafana/alloy@6d96740))
- **database\_observability:** Always send explain plan log for each query including status ([#4969](grafana/alloy#4969)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Append cloud provider information labels to metrics ([#4942](grafana/alloy#4942)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Stop tracking own instrumentation queries ([#4991](grafana/alloy#4991)) ([0b55557](grafana/alloy@0b55557))
- **deps:** Update Prometheus to v3.8.0 and Loki to v3.6.2 ([#5035](grafana/alloy#5035)) ([08796f8](grafana/alloy@08796f8))
- Expose otel subcommand and add user-facing documentation ([#5244](grafana/alloy#5244)) ([93f20b8](grafana/alloy@93f20b8))
- Improve faro.receiver.sourcemaps caching strategy ([#4337](grafana/alloy#4337)) ([41e655c](grafana/alloy@41e655c))
- **loki.process:** Mark stage.windowsevent as GA ([#4879](grafana/alloy#4879)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.file:** Refactor tailer to reduce resource usage ([#5003](grafana/alloy#5003)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.syslog:** Implement livedebugging support ([#5216](grafana/alloy#5216)) ([e26badb](grafana/alloy@e26badb))
- **loki.source.syslog:** Support cisco-specific syslog fields ([#5165](grafana/alloy#5165)) ([3230ba0](grafana/alloy@3230ba0))
- **loki.source.syslog:** Support raw format ([#5140](grafana/alloy#5140)) ([923d127](grafana/alloy@923d127))
- **mimir.alerts.kubernetes:** Add `alertmanagerconfig_matcher` block to change the matcher strategy ([f2b9671](grafana/alloy@f2b9671))
- **mimir.alerts.kubernetes:** Add component to discover AlertmanagerConfig Kubernetes resources ([#3448](grafana/alloy#3448)) ([08796f8](grafana/alloy@08796f8))
- **mixin:** Provide rendered mixin outputs ([#5118](grafana/alloy#5118)) ([738b9fb](grafana/alloy@738b9fb))
- **otelcol.auth.basic:** Add htpasswd file based authentication ([#3916](grafana/alloy#3916)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.connector.count:** Add component to count spans, metrics, and logs ([#4913](grafana/alloy#4913)) ([08796f8](grafana/alloy@08796f8))
- **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](grafana/alloy#4475)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.exporter.prometheus:** Add `honor_metadata` config argument \[backport] ([#5439](grafana/alloy#5439)) ([32cb175](grafana/alloy@32cb175))
- **otelcol.receiver.awss3:** Add experimental receiver for traces stored in S3 ([#4928](grafana/alloy#4928)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.receiver.kafka:** Deprecate the `topic` attribute inside the `logs`, `metrics`, and `traces` blocks in favour of a new `topics` attribute. ([f1f457f](grafana/alloy@f1f457f))
- **otelcol.receiver.kafka:** Remove the global `topic` attribute ([f1f457f](grafana/alloy@f1f457f))
- **otelcol:** Upgrade to OTel Collector v0.142.0 ([f1f457f](grafana/alloy@f1f457f))
- **prometheus.echo:** Add component for local metrics inspection in exposition format ([#4105](grafana/alloy#4105)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.exporter.cloudwatch:** Add delay option to account for CloudWatch ingestion latency ([#4936](grafana/alloy#4936)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.exporter.databricks:** Add Databricks exporter component ([#5054](grafana/alloy#5054)) ([4442836](grafana/alloy@4442836))
- **prometheus.operator.scrapeconfigs:** Add HTTP service discovery support via httpSDConfigs ([#4826](grafana/alloy#4826)) ([08796f8](grafana/alloy@08796f8))
- **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](grafana/alloy#5045)) ([08796f8](grafana/alloy@08796f8))
- **prometheus:** Reduce resource overhead by removing unnecessary labelstore usage ([#4890](grafana/alloy#4890)) ([08796f8](grafana/alloy@08796f8))
- **pyroscope.ebpf:** Add `lazy_mode` argument to the `pyroscope.ebpf` to defer eBPF profiler startup until there are targets to profile ([#4824](grafana/alloy#4824)) ([08796f8](grafana/alloy@08796f8))
- **pyroscope.enrich:** Add experimental component to enrich profiles using discovery labels ([#4797](grafana/alloy#4797)) ([08796f8](grafana/alloy@08796f8))
- Strip comments from normalized sql text in `database_observability.postgres` ([#5005](grafana/alloy#5005)) ([a58721a](grafana/alloy@a58721a))
- Support setting default scrape limit for prometheus.operator components ([#5280](grafana/alloy#5280)) ([40ffe08](grafana/alloy@40ffe08))
- **tracing:** Add send\_traceparent option to enable traceparent header propagation ([#4874](grafana/alloy#4874)) ([08796f8](grafana/alloy@08796f8))

##### Bug Fixes 🐛

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

---
##### [\`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](grafana/alloy@5b90a9d)) ([@dehaansa](https://github.com/dehaansa))
- **database\_observability:** Fix schema\_details collector to fetch column definitions with case sensitive table names ([#4872](grafana/alloy#4872)) ([560dff4](grafana/alloy@560dff4)) ([@jharvey10](https://github.com/jharvey10), [@fridgepoet](https://github.com/fridgepoet))
- **deps:** Update jose2go to 1.7.0 ([#4858](grafana/alloy#4858)) ([dfdd341](grafana/alloy@dfdd341)) ([@jharvey10](https://github.com/jharvey10))
- **deps:** Update npm dependencies \[backport] ([#5201](grafana/alloy#5201)) ([8e06c26](grafana/alloy@8e06c26)) ([@jharvey10](https://github.com/jharvey10))
- Ensure the squid exporter wrapper properly brackets ipv6 addresses \[backport] ([#5205](grafana/alloy#5205)) ([e329cc6](grafana/alloy@e329cc6)) ([@dehaansa](https://github.com/dehaansa))
- Preserve meta labels in loki.source.podlogs ([#5097](grafana/alloy#5097)) ([ab4b21e](grafana/alloy@ab4b21e)) ([@kalleep](https://github.com/kalleep))
- Prevent panic in import.git when update fails \[backport] ([#5204](grafana/alloy#5204)) ([c82fbae](grafana/alloy@c82fbae)) ([@dehaansa](https://github.com/dehaansa), [@jharvey10](https://github.com/jharvey10))
- show correct fallback alloy version instead of v1.13.0 ([#5110](grafana/alloy#5110)) ([b72be99](grafana/alloy@b72be99)) ([@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/
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Mar 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants