---
title: "V2.9 | Grafana Loki documentation"
description: "Version 2.9 release notes"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# V2.9

Grafana Labs is excited to announce the release of Loki 2.9.0 Here’s a summary of new enhancements and important fixes.

For a full list of all changes and fixes, refer to the [CHANGELOG](https://github.com/grafana/loki/blob/release-2.9.x/CHANGELOG.md).

## Features and enhancements

- **Structured metadata**: The [Structured Metadata](/docs/loki/latest/get-started/labels/structured-metadata/) feature, which was introduced as experimental in release 2.9.0, is generally available as of release 2.9.4.
- **Query Language Improvements**: Several improvements to the query language that speed up line parsing and regex matching. [PR #8646](https://github.com/grafana/loki/pull/8646), [PR #8659](https://github.com/grafana/loki/pull/8659), [PR #8724](https://github.com/grafana/loki/pull/8724), [PR #8734](https://github.com/grafana/loki/pull/8734), [PR #8739](https://github.com/grafana/loki/pull/8739), [PR #8763](https://github.com/grafana/loki/pull/8763), [PR #8890](https://github.com/grafana/loki/pull/8890), [PR #8914](https://github.com/grafana/loki/pull/8914)
- **Remote rule evaluation**: Rule evaluation can now be handled by queriers to improve speed. [PR #8744](https://github.com/grafana/loki/pull/8744) [PR #8848](https://github.com/grafana/loki/pull/8848)
- **Multi-store Index support**: Loki now supports reading/writing indexes to multiple object stores which enables the use of different storage buckets across periods for storing index. [PR #7754](https://github.com/grafana/loki/pull/7754), [PR #7447](https://github.com/grafana/loki/pull/7447)
- **New volume and volume\_range endpoints**: Two new endoints, `index/volume` and `index/volume_range`, have been added to Loki. They return aggregate volume information from the TSDB index for all streams matching a provided stream selector. This feature was introduced via multiple PRs, including [PR #9988](https://github.com/grafana/loki/pull/9988), [PR #9966](https://github.com/grafana/loki/pull/9966), [PR #9833](https://github.com/grafana/loki/pull/9833), [PR #9832](https://github.com/grafana/loki/pull/9832), [PR #9776](https://github.com/grafana/loki/pull/9776), [PR #9762](https://github.com/grafana/loki/pull/9762), [PR #9704](https://github.com/grafana/loki/pull/9704), [PR #10248](https://github.com/grafana/loki/pull/10248), [PR #10099](https://github.com/grafana/loki/pull/10099), [PR #10076](https://github.com/grafana/loki/pull/10076), [PR #10047](https://github.com/grafana/loki/pull/10047) and [PR #10045](https://github.com/grafana/loki/pull/10045)
- **New Storage Client**: Add support for IBM cloud object storage as storage client. [PR #8826](https://github.com/grafana/loki/pull/8826)
- **Block queries by hash**: Queries can now be blocked by a query hash. [PR #8953](https://github.com/grafana/loki/pull/8953)
- **logfmt stage improvements**: logfmt parser now performs non-strict parsing by default which helps scan semi-structured log lines. [PR #9626](https://github.com/grafana/loki/pull/9626)
- **Deprecations**
  
  - Legacy index and chunk stores that are not “single store” (such as `tsdb`, `boltdb-shipper`) are deprecated. These storage backends are Cassandra (`cassandra`), DynamoDB (`aws`, `aws-dynamo`), BigTable (`bigtable`, `bigtable-hashed`), GCP (`gcp`, `gcp-columnkey`), and gRPC (`grpc`). See [Configure storage](/docs/loki/latest/configure/storage/) for more information.
  - The `table-manager` target is deprecated, because it is not used by “single store” implementations.
  - The `-boltdb.shipper.compactor.*` CLI flags are deprecated in favor of `-compactor.*`.
  - The `-ingester.unordered-writes` CLI flag is deprecated and will always default to `true` in the next major release.
  - For the full list of deprecations, see CHANGELOG.md

## Bug fixes

### 2.9.17 (2025-11-07)

- **deps:** Bump Alpine version ([#19732](https://github.com/grafana/loki/issues/19732)) ([ffcd570](https://github.com/grafana/loki/commit/ffcd570f815ccf0588bda305659d0d4e925e4ef1)).

### 2.9.16 (2025-11-05)

- **WAL:** Backport wal corruption fix to 2.9.x ([#18229](https://github.com/grafana/loki/issues/18229)) ([77fc888](https://github.com/grafana/loki/commit/77fc88824162a758b60bbdf6d5bd38b25bd519e7)).
- **deps:** Upgrade Go and Alpine versions ([#19703](https://github.com/grafana/loki/issues/19703)) ([be0ac95](https://github.com/grafana/loki/commit/be0ac95a27769b782758d6ad41ba6c0037773696)).

### 2.9.15 (2025-06-09)

- **ci:** Pull in latest 2.9-specific release code ([#18019](https://github.com/grafana/loki/issues/18019)) ([7b805ba](https://github.com/grafana/loki/commit/7b805ba7c84366e11e8571c9e8c422739bb18684)).
- **deps:** Update module golang.org/x/net to v0.38.0 \[security] (release-2.9.x) ([#17275](https://github.com/grafana/loki/issues/17275)) ([6297508](https://github.com/grafana/loki/commit/62975089e9626846673335ff5607d183a2685222)).

### 2.9.14 (2025-04-15)

- **deps:** Upgrade `golang.org/x/oauth2` to 0.27.0 ([#16960](https://github.com/grafana/loki/issues/16960)) ([fb70d03](https://github.com/grafana/loki/commit/fb70d0305f96a9c6278e9707fc061f03d6aae0f1)).
- **deps:** Fix Loki CVEs for 2.9 ([#17065](https://github.com/grafana/loki/issues/17065)) ([5faccce](https://github.com/grafana/loki/commit/5facccece401c73af859644e4f0849096dcea95e)).
- **deps:** Remove remaining replaces to fix CVEs for 2.9.x ([#17095](https://github.com/grafana/loki/issues/17095)) ([26fcedb](https://github.com/grafana/loki/commit/26fcedb3d39a84afcf76f8b3a134657d218f947e)).
- **deps:** Upgrade `docker/docker` used by 2.9.x ([#17091](https://github.com/grafana/loki/issues/17091)) ([914adec](https://github.com/grafana/loki/commit/914adec3d86eb8c6eaed1e1f2cf41206b2bf919a)).
- **deps:** Upgrade `k8s.io/api` used by Loki 2.9.x ([#17093](https://github.com/grafana/loki/issues/17093)) ([0da39f4](https://github.com/grafana/loki/commit/0da39f47fef4030d0915312c4a6a5e941f6db0ef)).
- **deps:** Upgrade packages used by `docker/docker` for 2.9.x ([#17074](https://github.com/grafana/loki/issues/17074)) ([2c8da3d](https://github.com/grafana/loki/commit/2c8da3de5ef4e4a19cfe2c4b47f97611a82d75cb)).

### 2.9.13 (2025-03-12)

- **deps:** Loki 2.9.x Bump Alpine and Go versions ([#16294](https://github.com/grafana/loki/issues/16294)) ([f2deeb7](https://github.com/grafana/loki/commit/f2deeb76ac39e835bffe61e1e4f78b980afdc0c0)).

### 2.9.12 (2025-02-13)

- **deps:** CVE updates for Loki 2.9.11 ([#15647](https://github.com/grafana/loki/issues/15647)) ([8447402](https://github.com/grafana/loki/commit/8447402c5e454928845535efba5249d62be4c7c1)).

### 2.9.11 (2024-12-04)

- **docker:** Update Docker to 23.0.15 ([#14425](https://github.com/grafana/loki/issues/14425)).
- **lamba-promtail:** Lamba-promtail updates, some of which address CVEs([#14105](https://github.com/grafana/loki/issues/14105)).
- **promtail:** Switch Promtail base image from Debian to Ubuntu to fix critical security issues ([#15195](https://github.com/grafana/loki/issues/15195)).
- **storage:** Fix bug in cache of the index object client([#10585](https://github.com/grafana/loki/issues/10585)).

### 2.9.10 (2024-08-09)

- Update dependencies versions to remove CVE ([#13835](https://github.com/grafana/loki/pull/13835)) ([567bef2](https://github.com/grafana/loki/commit/567bef286376663407c54f5da07fa00963ba5485)).

### 2.9.9 (2024 -07-04)

- **Ingester:** Add `ingester_chunks_flush_failures_total` [12925](https://github.com/grafana/loki/pull/12925).
- **Ingester:** Add backoff to flush op [13140](https://github.com/grafana/loki/pull/13140).

### 2.9.8 (2024-05-03)

- **deps:** update module golang.org/x/net to v0.23.0 \[security] (release-2.9.x) ([#12865](https://github.com/grafana/loki/issues/12865)) ([94e0029](https://github.com/grafana/loki/commit/94e00299ec9b36ad97c147641566b6922268c54e)).

### 2.9.7 (2024-04-10)

- Bump go to 1.21.9 and build image to 0.33.1 (#12542) (efc4d2f)

### 2.9.6 (2024-03-21)

- Fixed Promtail failures connecting to local Loki installation ([#12184](https://github.com/grafana/loki/issues/12184)) ([8585e35](https://github.com/grafana/loki/commit/8585e3537375c0deb11462d7256f5da23228f5e1)).
- Fixed an issue when using IPv6 where IPv6 addresses were not properly joined with ports. Use `net.JoinHostPort` to support IPv6 addresses. ([#10650](https://github.com/grafana/loki/issues/10650)) ([#11870](https://github.com/grafana/loki/issues/11870)) ([7def3b4](https://github.com/grafana/loki/commit/7def3b4e774252e13ba154ca13f72816a84da7dd)).
- Updated google.golang.org/protobuf to v1.33.0 ([#12269](https://github.com/grafana/loki/issues/12269)) ([#12287](https://github.com/grafana/loki/issues/12287)) ([3186520](https://github.com/grafana/loki/commit/318652035059fdaa40405f263fc9e37b4d38b157)).

For a full list of all changes and fixes, refer to the [CHANGELOG](https://github.com/grafana/loki/blob/release-2.9.x/CHANGELOG.md).

### 2.9.5 (2024-02-28)

- Bumped base images and Go dependencies to address CVEs ([#12092](https://github.com/grafana/loki/issues/12092)) ([eee3598](https://github.com/grafana/loki/commit/eee35983f38fe04543b169ffa8ece76c23c4217b)).

For a full list of all changes and fixes, refer to the [CHANGELOG](https://github.com/grafana/loki/blob/release-2.9.x/CHANGELOG.md).

### 2.9.4 (2024-01-24)

- Fixed a couple of data races that can cause panics due to concurrent read-write access of tenant configs.
- Fixed a bug in the log results cache.
- Fixed the cache to atomically check background cache size limit correctly.
- Fixed the discrepancy between the semantics of logs and metrics queries.
- Fixed promtail default scrape config causing CPU and memory load.
- Updated golang.org/x/crypto to v0.18.0.

For a full list of all changes and fixes, refer to the [CHANGELOG](https://github.com/grafana/loki/blob/release-2.9.x/CHANGELOG.md).

### 2.9.3 (2023-12-11)

- Upgraded otelhttp from 0.40.0 -&gt; 0.44.0 and base alpine image from 3.18.3 -&gt; 3.18.5 to fix a few CVES (CVE-2023-45142, CVE-2022-21698, CVE-2023-5363).
- Fixed querying ingester for label values with a matcher (previously didn’t respect the matcher).
- Ensured all lifecycler cfgs ref a valid IPv6 addr and port combination.

For a full list of all changes and fixes, refer to the [CHANGELOG](https://github.com/grafana/loki/blob/release-2.9.x/CHANGELOG.md).

### 2.9.2 (2023-10-16)

- Upgraded go to v1.21.3, golang.org/x/net to v0.17.0 and grpc-go to v1.56.3 to patch CVE-2023-39325 / CVE-2023-44487

For a full list of all changes and fixes, refer to the [CHANGELOG](https://github.com/grafana/loki/blob/release-2.9.x/CHANGELOG.md).

### 2.9.1 (2023-09-14)

- Updated Docker base images to mitigate security vulnerability CVE-2022-48174
- Fixed bugs in indexshipper (`tsdb`, `boltdb-shipper`) that could result in not showing all ingested logs in query results.

For a full list of all changes and fixes, refer to the [CHANGELOG](https://github.com/grafana/loki/blob/release-2.9.x/CHANGELOG.md).
