Grafana Labs and the Loki team are excited to announce the release of Loki 3.0. Here's a summary of new enhancements and important fixes.
For a full list of all changes and fixes, refer to the CHANGELOG.
Features and enhancements
Key features in Loki 3.0.0 include the following:
-
Query acceleration with Bloom filters (experimental): This is designed to speed up filter queries, with best results for queries that are looking for a specific text string like an error message or UUID.
-
Native OTel Support: A simplified ingestion pipeline (Loki Exporter no longer needed) and a more intuitive query experience for OTel logs.
-
Helm charts: A major upgrade to the Loki helm chart introduces support for
Distributed
mode (microservices), includes memcached by default, and includes several updates to configurations to improve Loki operations. -
Lambda/Promtail: support dropping labels (#10755) (ec54c72).
-
Docs improvements: All the Getting Started topics have been revised, including a new Quickstart to help new users get up and running with Loki faster.The Storage, Configuration Reference, and API documentation have been updated to reflect deprecated and removed code, configuration options, and API endpoints.
Deprecations
One of the focuses of Loki 3.0 was cleaning up unused code and old features that had been previously deprecated but not removed. Loki 3.0 removes a number of previous deprecations and introduces some new deprecations. Some of the main areas with changes include:
-
Deprecated storage options including the deprecation of the BoltDB store.
To learn more about breaking changes in this release, refer to the Upgrade guide.
Upgrade Considerations
The path from 2.9 to 3.0 includes several breaking changes. For important upgrade guideance, refer to the Upgrade Guide and the separate Helm Upgrade Guide.
Bug fixes
3.0.0 (2024-05-08)
- All lifecycler cfgs ref a valid IPv6 addr and port combination (#11121) (6385b19)
- deps: update github.com/c2h5oh/datasize digest to 859f65c (main) (#10820) (c66ffd1)
- deps: update github.com/docker/go-plugins-helpers digest to 6eecb7b (main) (#10826) (fb9c496)
- deps: update github.com/grafana/gomemcache digest to 6947259 (main) (#10836) (2327789)
- deps: update github.com/grafana/loki/pkg/push digest to 583aa28 (main) (#10842) (02d9418)
- deps: update github.com/grafana/loki/pkg/push digest to cfc4f0e (main) (#10946) (d27c4d2)
- deps: update github.com/grafana/loki/pkg/push digest to e523809 (main) (#11107) (09cb9ae)
- deps: update github.com/joncrlsn/dque digest to c2ef48c (main) (#10947) (1fe4885)
- deps: update module google.golang.org/grpc [security] (main) (#11031) (0695424)
- helm: bump nginx-unprivilege to fix CVE (#10754) (dbf7dd4)
- Parse JSON String arrays properly so string elements can be retrieved: PR #11921]
- promtail: correctly parse list of drop stage sources from YAML (#10848) (f51ee84)
- promtail: prevent panic due to duplicate metric registration after reloaded (#10798) (47e2c58)
- respect query matcher in ingester when getting label values (#10375) (85e2e52)
- Sidecar configuration for Backend (#10603) (c29ba97)
- tools/lambda-promtail: Do not evaluate empty string for drop_labels (#11074) (94169a0)