1.17.0 (2026-06-11)
Features 🌟
- Add gql subcommand (#6242) (ec09c43) (@jharvey10)
- database_observability.mysql: Add database_observability_wait_event_seconds_total counter (#6106) (602b0b5) (@gaantunes)
- database_observability.mysql: Refactor bulk table metadata collection (#6222) (e8d441b) (@cristiangreco)
- database_observability.mysql: Refactor schema_details logging strategy (#6239) (fd51530) (@cristiangreco)
- database_observability.postgres: Add
exclude_current_usertop-level setting (#6187) (f019b5e) (@cristiangreco, @matthewnolf) - database_observability.postgres: Improve monitoring user privileges check (#6177) (96b50d1) (@cristiangreco)
- database_observability.postgres: Make health_check respect user/database exclusions settings (#6144) (b4ee0a7) (@cristiangreco)
- database_observability.postgres: Throttle schema details create_statement logs (#6260) (fcb3d3e) (@cristiangreco)
- database_observability: Add wait_event_v2 op with pre-classified wait_event_type (#6105) (f7a1ebd) (@gaantunes)
- database_observability: Always extract traceparent in MySQL query_samples collector (#6081) (bf2b436) (@fridgepoet)
- database_observability: Always extract traceparent in Postgres query_samples collector (#6411) (74d595a) (@fridgepoet)
- database_observability: Set query_sample, wait_event timestamps at query start for MySQL (#6291) (a47de00) (@fridgepoet)
- database_observability: Set timestamp query_sample at query start for Postgres (#6393) (62d8ecc) (@fridgepoet)
- database_observability: Update wait_event_v2 to a 6-bucket taxonomy and surface Mysql nested events (#6143) (3df9542) (@gaantunes, @cristiangreco)
- faro.receiver: Support gzip-compressed request bodies (#6195) (4fa44d2) (@d0ugal)
- GraphQL server (#5580) (5a2562f) (@jharvey10)
- helm: Support externally-managed HPAs via controller.autoscaling.horizontal.externalHPA (#6311) (a1e61c7) (@jmichalek132)
- Integration tests for aws firehose and cloudflare logpull (#6089) (f55f780) (@x1unix)
- Integration tests for loki.source.azure_event_hubs (#6113) (8e40165) (@x1unix)
- Integration tests for loki.source.gcplog (#6161) (feceb8d) (@x1unix)
- loki.process: Add regex field to logfmt and json stages (#4941) (cfbabda) (@timonegk)
- loki.rules.kubernetes: Add external_labels support (#6320) (9166a61) (@gianvetter)
- loki.source.heroku: Drop github.com/heroku/x package (#6064) (3382721) (@x1unix)
- Migrate from Docker to Moby (#6167) (1e2bbf9) (@x1unix)
- mimir.rules.kubernetes, loki.rules.kubernetes: Add configurable
mimir_namespace_separatorandloki_namespace_separatorarguments to allow using a URL-safe separator (#5961) (7dba4f1) (@QuentinBisson, @clayton-cornell) - otelcol.exporter.prometheus: Config option to prevent stripping
service.*attributes (#6434) (c229b3c) (@jcreixell) - otelcol.exporter.prometheus: Convert classic histograms to NHCB (#6281) (46f4fb6) (@madaraszg-tulip)
- otelcol: Add Nginx receiver (#6141) (fa8d520) (@henworth, @clayton-cornell, @blewis12)
- prometheus.enrich: Support multi-label matching (#5822) (04a1aba) (@dtrejod)
- prometheus.relabel: Add opt-in TTL cache mode (#6169) (40632c3) (@kgeckhart)
- telemetry: Add graph connection metrics (#6243) (4f3bbbe) (@theSuess)
- telemetry: Add pyroscope_forwarded_entries_total metric (#6244) (65ad64c) (@theSuess)
- Update to Beyla 3.9.7 (#6175) (4015bd9) (@rafaelroquetto)
- Update to Beyla 3.9.8 (#6189) (6fffa30) (@skl)
Bug Fixes 🐛
- Address Critical CVE's From Scanner (#6232) (e713e7a) (@blewis12)
- alloycli: Use filepath.Base for CLI Use name to fix shell completions (#6217) (17cfd01) (@IngmarStein)
- cluster: Fix nodes failing to join the cluster when TLS is enabled (#6437) (efbad6d) (@kgeckhart)
- database_observability.mysql: Exclude system schemas from MySQL health check (#6116) (fcae6f4) (@matthewnolf)
- database_observability.postgres: Count error logs when log_timezone is non-UTC (#6274) (2eaa769) (@gaantunes, @cristiangreco)
- database_observability.postgres: Do not retain query text in
explain_planscollector (#6461) (4c06a64) (@cristiangreco) - database_observability: Exclude more explain plan output keywords (#6145) (3ff6c14) (@cristiangreco)
- deb: Restart Alloy only on upgrade in postinst script (#6094) (8c15cb3) (@guoard, @jharvey10)
- deps: Pin dependencies (#6376) (79323b5)
- deps: Update dependencies for catchpoint, databricks, and snowflake exporters (#6188) (c1b740c) (@Dasomeone)
- deps: Update module go.opentelemetry.io/obi to v0.8.0 [SECURITY] (#6091) (05c14af)
- documentation: Fix documentation for loki.rules.kubernetes (#6088) (61f2b8a) (@timonegk, @clayton-cornell)
- Enforce Singleton For Running Alloy Extension Instances (#5763) (83da6f0) (@blewis12, @clayton-cornell)
- faro: Abort on context cancelation (#6104) (bf733a6) (@kalleep)
- Fix bug that caused 'logging' block's 'write_to' to be used after config update even if not set (#6264) (cba7243) (@ptodev)
- graphql: Update cli flags for consistency (#6441) (7749d4f) (@jharvey10)
- helm: Honor alloy.configMap.key in templates/configmap.yaml (#6312) (415af2c) (@jmichalek132, @kalleep)
- integration-tests: Forward GO_TAGS to k8s integration tests (#6220) (b00f79c) (@thampiotr)
- logging: Fix startup deadlock when components log before logging config is evaluated (#6112) (6cdce9e) (@kgeckhart)
- loki.process: Make limit stage shutdown cancelable (#6215) (20717b5) (@boinger)
- loki.process: New
action_on_duplicate_timestampconfig attribute to fudge identical log timestamps (#5615) (7d56f50) (@boussaffawalid) - loki.process: No longer mutate rules in stage.truncate causing every config update to reload pipeline when this stage is used (#6271) (b52a4d8) (@kalleep)
- loki.process: Potential deadlock on update with stage and receiver changes (#6270) (cb22e82) (@kalleep)
- loki.process: Wrap NewPipeline error correctly in match stage (#6216) (f3af2dd) (@boinger)
- loki.rules.kubernetes: Add timeout to ruler sync calls (26170d4) (@QuentinBisson)
- loki.source.syslog: Fix goroutine leak in UDP listener (#6231) (268b260) (@x1unix)
- loki: Clone structured metadata so we can perform fan-out correctly (#6138) (473244d) (@kalleep)
- oracledb_exporter: Support CGO_ENABLED=0 cross-compilation (#6168) (63ab53d) (@korniltsev-grafanista)
- otelcol.exporter.awss3: Add missing
unique_key_func_nameattribute (#6184) (9ad2b44) (@kalleep) - prometheus.exporter.oracledb: Fix issue with custom metrics not appearing when more than one instance of prometheus.exporter.oracledb is used (#6228) (57de4f4) (@ptodev)
- prometheus.operator.*: Pass ScrapeNativeHistograms to ScrapeOptions (#6356) (a44fced) (@sberz)
- remotewrite: Use blocking send with timeout in test server (#6208) (a279088) (@kgeckhart)
- security: Update module github.com/jackc/pgx/v5 to v5.9.2 [SECURITY] (#6326) (bf3ff2e)
- security: Update x/crypto and x/net for CVEs (#6336) (4c7b93b) (@thampiotr)
- ui: Reduce UI dependencies (#6349) (85e12ba) (@jharvey10)
- ui: Update dependency minor versions (#6288) (52a28d2) (@jharvey10)
- Update go to v1.26.4 (#6418) (51fb7d2) (@kalleep)
- validation: Improve type checking of ast.LiteralExpr (#5916) (d0a1177) (@kalleep)
Upgrading
Read the release notes for specific instructions on upgrading from older versions:
Installation
Refer to our installation guide for how to install Grafana Alloy.