Skip to content

Releases: grafana/mimir

2.17.6-rc.0

10 Feb 22:32
mimir-2.17.6-rc.0
034f67a

Choose a tag to compare

2.17.6-rc.0 Pre-release
Pre-release

This release contains 7 PRs from 3 authors. Thank you!

Changelog

2.17.6-rc.0

Grafana Mimir

  • [BUGFIX] Update to Go v1.25.7 to address CVE-2025-61726. #14243 #14255
  • [BUGFIX] Ruler: Add path traversal checks when parsing namespaces and groups, which prevents namespace and group name from containing non-local paths. #14246

All changes in this release: mimir-2.17.5...mimir-2.17.6-rc.0

2.17.5

29 Jan 13:17
mimir-2.17.5
eeb851d

Choose a tag to compare

This release contains 8 PRs from 5 authors. Thank you!

Changelog

2.17.5

Grafana Mimir

  • [BUGFIX] Distributor: Calculate WriteResponseStats before validation and PushWrappers. This prevents clients using Remote-Write 2.0 from seeing a diff in written samples, histograms and exemplars. #12682 #14144
  • [BUGFIX] Distributor: Fix issue where distributors didn't send custom values of native histograms. #13849 #14145
  • [BUGFIX] Distributor: Fix metric metadata of type Unknown being silently dropped from RW2 requests. #12461 #14150
  • [BUGFIX] Ingester: Query all ingesters when shuffle sharding is disabled. #14041

All changes in this release: mimir-2.17.4...mimir-2.17.5

3.0.2

02 Jan 08:14
mimir-3.0.2
b07d6f9

Choose a tag to compare

This release contains 2 PRs from 1 authors. Thank you!

Changelog

3.0.2

Grafana Mimir

All changes in this release: mimir-3.0.1...mimir-3.0.2

2.17.4

30 Dec 23:14
mimir-2.17.4
d04576d

Choose a tag to compare

This release contains 5 PRs from 2 authors. Thank you!

Changelog

2.17.4

Grafana Mimir

All changes in this release: mimir-2.17.3...mimir-2.17.4

2.17.4-rc.0

30 Dec 23:15
mimir-2.17.4-rc.0
a3d1390

Choose a tag to compare

2.17.4-rc.0 Pre-release
Pre-release

This release contains 3 PRs from 2 authors. Thank you!

Changelog

2.17.4-rc.0

Grafana Mimir

All changes in this release: mimir-2.17.3...mimir-2.17.4-rc.0

2.17.3

01 Dec 08:52
mimir-2.17.3
8b58411

Choose a tag to compare

This release contains 11 PRs from 4 authors. Thank you!

Changelog

2.17.3

Grafana Mimir

All changes in this release: mimir-2.17.2...mimir-2.17.3

3.0.1

28 Nov 17:25
mimir-3.0.1
ded396d

Choose a tag to compare

Changelog

3.0.1

Grafana Mimir

All changes in this release: mimir-3.0.0...mimir-3.0.1

3.0.0

31 Oct 13:45
mimir-3.0.0
3e9aeb4

Choose a tag to compare

This release contains 590 PRs from 62 authors, including new contributors Andrew Hall, Frank Kloeker, Gregor Zeitlinger, Ilia Lazebnik, Julien, Maruth Goyal, Matt Clegg, Mattia Barbon, Mohijeet, Oleg Vorobev, Oliver Herrmann, Phil Kates, Pranshu Raj, Rob B, Timon Engelke, Vadim Stepanov, dannyc-grafana, renovate-sh-app[bot], unkls ben. Thank you!

Grafana Mimir version 3.0.0 release notes

Grafana Labs is excited to announce version 3.0 of Grafana Mimir.

The highlights that follow include the top features, enhancements, and bug fixes in this release. For the complete list of changes, refer to the CHANGELOG.

Features and enhancements

Grafana Mimir version 3.0 includes the following key features and enhancements.

Ingest storage architecture

Mimir 3.0 introduces ingest storage architecture, a next-generation architecture that separates the read and write paths using a Kafka-based ingest storage layer. In previous versions, the ingester handled both ingestion and querying, which could cause contention under heavy query loads. By introducing Kafka as an asynchronous buffer between ingestion and query, reads and writes now scale independently. This design improves ingestion stability, query performance, and operational flexibility for large deployments.

Note that in Grafana Mimir version 3.0, classic architecture is still supported.

Mimir Query Engine (MQE)

The Mimir Query Engine (MQE) is now the default query engine for all queriers and query-frontends. MQE is fully PromQL-compatible and processes data in a streaming fashion, reducing peak memory usage by up to 92% compared to the Prometheus engine. You can expect faster, more stable query performance and lower resource consumption under load.

Additional improvements

Grafana Mimir 3.0 also includes:

  • Optimizations to MQE for histogram queries and query rewrites
  • Improvements to query planning in frontends and queriers
  • General stability and performance updates across core components

Important changes

Grafana Mimir 3.0 introduces several updates that change default behavior and configuration. Review these changes before upgrading:

  • Ingest storage architecture: Grafana Mimir now uses a Kafka-based ingest storage layer that separates reads and writes. This change improves performance by altering data flow between components.
  • MQE as the default engine: MQE replaces the Prometheus engine as the default query engine. To continue using the Prometheus engine, set -querier.query-engine=prometheus.
  • Removal of experimental features: Some deprecated and experimental flags, including the read-write deployment mode, have been removed.
  • Configuration updates: Some deprecated CLI flags and configuration options have been removed or renamed.

Experimental features

Grafana Mimir 3.0 includes some features that are experimental and disabled by default. Use these features with caution and report any issues that you encounter:

  • Prometheus Remote-Write 2.0 protocol
  • PromQL duration expressions that allow simple arithmetic in range or offset values
  • Cluster validation for HTTP requests (-server.cluster-validation.* flags)
  • Native OTLP delta metric ingestion (-distributor.otel-native-delta-ingestion)

Bug fixes

For a detailed list of bug fixes, refer to the CHANGELOG.

Helm chart improvements

The Grafana Mimir Helm chart is released independently. Refer to the Grafana Mimir Helm chart documentation.

Changelog

3.0.0

Grafana Mimir

  • [CHANGE] Build: Include updated Mozilla CA bundle from Debian Testing. #12247
  • [CHANGE] Query-frontend: Add support for UTF-8 label and metric names in /api/v1/cardinality/{label_values|label_values|active_series} endpoints. #11848.
  • [CHANGE] Querier: Add support for UTF-8 label and metric names in label_join, label_replace and count_values PromQL functions. #11848.
  • [CHANGE] Remove support for Redis as a cache backend. #12163
  • [CHANGE] Memcached: Remove experimental -<prefix>.memcached.addresses-provider flag to use alternate DNS service discovery backends. The more reliable backend introduced in 2.16.0 (#10895) is now the default. As a result of this change, DNS-based cache service discovery no longer supports search domains. #12175 #12385
  • [CHANGE] Query-frontend: Remove the CLI flag -query-frontend.downstream-url and corresponding YAML configuration and the ability to use the query-frontend to proxy arbitrary Prometheus backends. #12191 #12517
  • [CHANGE] Query-frontend: Remove experimental instant query splitting feature. #12267
  • [CHANGE] Query-frontend, querier: Replace query-frontend.prune-queries flag with querier.mimir-query-engine.enable-prune-toggles as pruning middleware has been moved into MQE. #12303 #12375
  • [CHANGE] Distributor: Remove deprecated global HA tracker timeout configuration flags. #12321
  • [CHANGE] Query-frontend: Use the Mimir Query Engine (MQE) by default. #12361
  • [CHANGE] Query-frontend: Remove the CLI flags -querier.frontend-address, -querier.max-outstanding-requests-per-tenant, and -query-frontend.querier-forget-delay and corresponding YAML configurations. This is part of a change that makes the query-scheduler a required component. This removes the ability to run the query-frontend with an embedded query-scheduler. Instead, you must run a dedicated query-scheduler component. #12200
  • [CHANGE] Ingester: Remove deprecated -ingester.stream-chunks-when-using-blocks CLI flag and ingester_stream_chunks_when_using_blocks runtime configuration option. #12615
  • [CHANGE] Querier: Require non-zero values for -querier.streaming-chunks-per-ingester-buffer-size and -querier.streaming-chunks-per-store-gateway-buffer-size CLI flags and corresponding YAML configurations. This is part of a change that makes streaming required between queriers, ingesters, and store-gateways. Streaming has been the default since Mimir 2.14. #12790 #12818 #12897 #12929 #12973
  • [CHANGE] Remove support for the experimental read-write deployment mode. #12584
  • [CHANGE] Store-gateway: Update default value of -store-gateway.dynamic-replication.multiple to 5 to increase replication of recent blocks. #12433
  • [CHANGE] Cost attribution: Reduce the default maximum per-user cardinality of cost attribution labels to 2000. #12625
  • [CHANGE] Querier, query-frontend: Add _total suffix to cortex_mimir_query_engine_common_subexpression_elimination_duplication_nodes_introduced, cortex_mimir_query_engine_common_subexpression_elimination_selectors_eliminated and cortex_mimir_query_engine_common_subexpression_elimination_selectors_inspected metric names. #12636
  • [CHANGE] Distributor: Remove the experimental setting service_overload_status_code_on_rate_limit_enabled which used an HTTP 529 error (non-standard) instead of HTTP 429 for rate limiting. #13012
  • [CHANGE] Alertmanager: Change the severity for InitialSyncFailed from 'critical' to 'warning'. #12824
  • [CHANGE] Ingester: Renamed experimental reactive limiter options. #12773
  • [CHANGE] Distributor: gRPC errors with the mimirpb.ERROR_CAUSE_INSTANCE_LIMIT cause are now mapped to codes.Unavailable and http.StatusServiceUnavailable instead of codes.Internal and http.StatusInternalServerError. #13003 #13032
  • [CHANGE] Admin: use relative links instead of absolute ones in the administration web UI. #13034
  • [CHANGE] Distributor: Use memberlist by default for the HA tracker. #12998
  • [CHANGE] Block-builder: Remove cortex_blockbuilder_process_partition_duration_seconds metric and related dashboard panels. #12631
  • [FEATURE] Ingester: Expose the number of active series ingested via OTLP as cortex_ingester_active_otlp_series. #12678
  • [FEATURE] Distributor, ruler: Add experimental -validation.name-validation-scheme flag to specify the validation scheme for metric and label names. #12215
  • [FEATURE] Ruler: Add support to use a Prometheus-compatible HTTP endpoint for remote rule evaluation. See remote evaluation mode for more details. This feature can be used to federate data from multiple Mimir instances. #11415 #11833
  • [FEATURE] Distributor: Add experimental -distributor.otel-translation-strategy flag to support configuring the metric and label name translation strategy in the OTLP endpoint. #12284 #12306 #12369
  • [FEATURE] Query-frontend: Add query-frontend.rewrite-propagate-matchers flag that enables a new MQE AST optimization pass that copies relevant label matchers across binary operations. #12304
  • [FEATURE] Query-frontend: Add query-frontend.rewrite-histogram-queries flag that enables a new MQE AST optimization pass that rewrites histogram queries for a more efficient order of execution. #12305
  • [FEATURE] Query-frontend: Support delayed name removal (Prometheus experimental feature) in MQE. #12509
  • [FEATURE] Usage-tracker: Introduce a new experimental service to enforce active series limits before Kafka ingestion. #12358 #12895 #12940 #12942 #12970 #13085
  • [FEATURE] Ingester: Add experimental -include-tenant-id-in-profile-labels flag to include tenant ID in pprof profiling labels for sampled traces. Currently only supported by the ingester. This can help debug performance issues for specific tenants. #12404
  • [FEATURE] Alertmanager: Add experimental -alertmanager.storage.state-read-timeout flag to configure the timeout for reading the Alertmanager state (notification log, silences) from object storage during the initial sync. #12425
  • [FEATURE] Ingester: Add experimental -blocks-storage.tsdb.index-lookup-planning.* flags to configure use of a cost-based index lookup planner. This sho...
Read more

2.17.2

29 Oct 10:00
mimir-2.17.2
bce9369

Choose a tag to compare

This release contains 11 PRs from 6 authors. Thank you!

Changelog

2.17.2

Grafana Mimir

  • [BUGFIX] Add a missing attribute to the list of default promoted OTel resource attributes in the docs: deployment.environment. #12181
  • [BUGFIX] Ingest: Fix memory pool poisoning in Remote-Write 2.0/OTLP by not cleaning created timestamp field before returning time series to the memory pool. #12735
  • [BUGFIX] Distributor: Fix error when native histograms bucket limit is set then no NHCB passes validation. #12746
  • [BUGFIX] Update Docker base images for tools from alpine:3.22.1 to alpine:3.22.2 to address CVE-2025-9230, CVE-2025-9231, CVE-2025-2025-9232. #12993
  • [BUGFIX] Memcached: Ignore invalid responses when discovering cache servers using dnssrv+ or dnssrvnoa+ service discovery prefixes. #13206

Tools

  • [ENHANCEMENT] Base mimirtool, metaconvert, copyblocks, and query-tee images on distroless/static-debian12. #13014

All changes in this release: mimir-2.17.1...mimir-2.17.2

3.0.0-rc.2

30 Oct 15:04
mimir-3.0.0-rc.2
09fa92e

Choose a tag to compare

3.0.0-rc.2 Pre-release
Pre-release

This release contains 3 PRs from 2 authors. Thank you!

Changelog

3.0.0-rc.2

Grafana Mimir

  • [BUGFIX] Memcached: Ignore invalid responses when discovering cache servers using dnssrv+ or dnssrvnoa+ service discovery prefixes. #13203

All changes in this release: mimir-3.0.0-rc.1...mimir-3.0.0-rc.2