Releases: grafana/mimir
2.17.6-rc.0
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
This release contains 8 PRs from 5 authors. Thank you!
Changelog
2.17.5
Grafana Mimir
- [BUGFIX] Distributor: Calculate
WriteResponseStatsbefore validation andPushWrappers. 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
This release contains 2 PRs from 1 authors. Thank you!
Changelog
3.0.2
Grafana Mimir
- [BUGFIX] Update to Go v1.25.5 to address CVE-2025-61729. #13909
All changes in this release: mimir-3.0.1...mimir-3.0.2
2.17.4
This release contains 5 PRs from 2 authors. Thank you!
Changelog
2.17.4
Grafana Mimir
- [BUGFIX] Update to Go v1.25.5 to address CVE-2025-61729, CVE-2025-61727. #13755, #13896
All changes in this release: mimir-2.17.3...mimir-2.17.4
2.17.4-rc.0
This release contains 3 PRs from 2 authors. Thank you!
Changelog
2.17.4-rc.0
Grafana Mimir
- [BUGFIX] Update to Go v1.25.5 to address CVE-2025-61729, CVE-2025-61727. #13755, #13896
All changes in this release: mimir-2.17.3...mimir-2.17.4-rc.0
2.17.3
This release contains 11 PRs from 4 authors. Thank you!
Changelog
2.17.3
Grafana Mimir
- [BUGFIX] Update to Go v1.25.4 to address CVE-2025-61725, CVE-2025-58188. #13697
All changes in this release: mimir-2.17.2...mimir-2.17.3
3.0.1
3.0.0
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_replaceandcount_valuesPromQL functions. #11848. - [CHANGE] Remove support for Redis as a cache backend. #12163
- [CHANGE] Memcached: Remove experimental
-<prefix>.memcached.addresses-providerflag 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-urland 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-queriesflag withquerier.mimir-query-engine.enable-prune-togglesas 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-delayand 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-blocksCLI flag andingester_stream_chunks_when_using_blocksruntime configuration option. #12615 - [CHANGE] Querier: Require non-zero values for
-querier.streaming-chunks-per-ingester-buffer-sizeand-querier.streaming-chunks-per-store-gateway-buffer-sizeCLI 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.multipleto5to 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
_totalsuffix tocortex_mimir_query_engine_common_subexpression_elimination_duplication_nodes_introduced,cortex_mimir_query_engine_common_subexpression_elimination_selectors_eliminatedandcortex_mimir_query_engine_common_subexpression_elimination_selectors_inspectedmetric names. #12636 - [CHANGE] Distributor: Remove the experimental setting
service_overload_status_code_on_rate_limit_enabledwhich 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_LIMITcause are now mapped tocodes.Unavailableandhttp.StatusServiceUnavailableinstead ofcodes.Internalandhttp.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_secondsmetric 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-schemeflag 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-strategyflag 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-matchersflag 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-queriesflag 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-labelsflag 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-timeoutflag 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...
2.17.2
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.1toalpine:3.22.2to address CVE-2025-9230, CVE-2025-9231, CVE-2025-2025-9232. #12993 - [BUGFIX] Memcached: Ignore invalid responses when discovering cache servers using
dnssrv+ordnssrvnoa+service discovery prefixes. #13206
Tools
- [ENHANCEMENT] Base
mimirtool,metaconvert,copyblocks, andquery-teeimages ondistroless/static-debian12. #13014
All changes in this release: mimir-2.17.1...mimir-2.17.2
3.0.0-rc.2
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+ordnssrvnoa+service discovery prefixes. #13203
All changes in this release: mimir-3.0.0-rc.1...mimir-3.0.0-rc.2