<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Grafana Mimir release notes on Grafana Labs</title><link>https://grafana.com/docs/mimir/v2.5.x/release-notes/</link><description>Recent content in Grafana Mimir release notes on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/mimir/v2.5.x/release-notes/index.xml" rel="self" type="application/rss+xml"/><item><title>Grafana Mimir version 2.0 release notes</title><link>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.0/</link><pubDate>Thu, 16 Apr 2026 08:04:45 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.0/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-20-release-notes&#34;&gt;Grafana Mimir version 2.0 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce the first release of Grafana Mimir, the most scalable, most performant open source time series database in the world. In customer tests, we’ve shown that a single cluster can support more than one billion active time series.&lt;/p&gt;
&lt;p&gt;Besides massive scale, Grafana Mimir offers a host of other benefits, including easy deployment, native multi-tenancy, high availability, durable long-term storage, and exceptional query performance on even the highest-cardinality queries.&lt;/p&gt;
&lt;p&gt;For more information about Grafana Mimir features and capabilities, watch the &lt;strong&gt;Introducing Grafana Mimir&lt;/strong&gt; video.





  
  
  


&lt;div&gt;
  &lt;iframe src=&#34;https://player.vimeo.com/video/742056367?transparent=0&#34; title=&#34;vimeo video&#34; webkitallowfullscreen=&#34;&#34; mozallowfullscreen=&#34;&#34; allowfullscreen=&#34;&#34;&gt;&lt;/iframe&gt;
  &lt;div &gt;
    
  &lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;We’re launching Grafana Mimir with a 2.0 version number to signal our respect for Cortex, the project from which Grafana Mimir was forked. The choice of 2.0 also represents our conviction that Grafana Mimir is real-world-tested, production-ready software. It has served as the backbone of our Grafana Cloud Metrics and Grafana Enterprise Metrics products since their inception.&lt;/p&gt;
&lt;p&gt;For more on the story of why we created Grafana Mimir, please see the following blog posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/blog/2022/03/30/announcing-grafana-mimir/&#34;&gt;Announcing Grafana Mimir, the most scalable open source TSDB in the world&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/blog/2022/03/30/qa-with-our-ceo-about-grafana-mimir/&#34;&gt;Grafana Mimir Q&amp;amp;A with Grafana Labs CEO Raj Dutt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Grafana Mimir builds on Cortex 1.10.0, adding features we developed to run Grafana Enterprise Metrics and Grafana Cloud Metrics at massive scale. As a result, these listed features and enhancements, migration considerations, and bug fixes highlight changes between Cortex 1.10.0 and Grafana Mimir 2.0.&lt;/p&gt;
&lt;p&gt;The complete list of changes is recorded in the &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;features-and-enhancements&#34;&gt;Features and enhancements&lt;/h2&gt;
&lt;p&gt;These features and enhancements distinguish Grafana Mimir from Cortex 1.10.0:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Simplified deployment experience&lt;/strong&gt;: These changes improve the experience of setting up and maintaining Grafana Mimir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We revamped Cortex’s single process mode, renaming it &lt;a href=&#34;../../operators-guide/architecture/deployment-modes/#monolithic-mode&#34;&gt;monolithic mode&lt;/a&gt;. Monolithic mode now runs the required compactor component, and has better configuration defaults, so that it works with fewer changes out-of-the-box.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We switched to &lt;code&gt;memberlist&lt;/code&gt; as the default store for Grafana Mimir’s &lt;a href=&#34;../../operators-guide/architecture/hash-ring/&#34;&gt;hash rings&lt;/a&gt;. With this, users no longer have to run Consul or etcd as external dependencies. We made performance optimizations to &lt;code&gt;memberlist&lt;/code&gt; to reduce its CPU utilization, which ensures that &lt;code&gt;memberlist&lt;/code&gt; runs smoothly on Grafana Mimir clusters with lots of active series.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We’ve included our own internal best practice dashboards, mixins, and alerts for &lt;a href=&#34;../../operators-guide/monitor-grafana-mimir/&#34;&gt;monitoring Grafana Mimir&lt;/a&gt;. While installing monitoring best practices such as these has typically required use of Jsonnet, we’ve eliminated this requirement. We include dashboards as JSON and alerting and recording rules as YAML which can be directly imported into your Grafana and Prometheus deployments. The alerts are accompanied by &lt;a href=&#34;../../operators-guide/mimir-runbooks/&#34;&gt;runbooks&lt;/a&gt; distilled from our own internal operations.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configuration parameter reduction and classification&lt;/strong&gt;: We removed 36% of the configuration parameters in Grafana Mimir. All remaining configuration parameters have been classified as basic, advanced, or experimental. This is meant to make Grafana Mimir’s configuration more approachable for new users. In a default installation, you can focus exclusively on basic configuration. As you become more familiar with Grafana Mimir and want to push your clusters further, you can choose to tune advanced parameters or use experimental parameters. Refer to &lt;a href=&#34;../../operators-guide/configure/reference-configuration-parameters/#parameter-categories&#34;&gt;parameter categories&lt;/a&gt; to learn more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;More-scalable metrics compaction&lt;/strong&gt;: Grafana Mimir&amp;rsquo;s new compactor uses a split-and-merge compaction algorithm. This new compactor parallelizes the compaction of overlapping blocks across multiple machines, and splits blocks in such a way as to overcome Prometheus’ &lt;a href=&#34;/blog/2019/10/31/lifting-the-index-size-limit-of-prometheus-with-postings-compression/&#34;&gt;64 GB index size limit&lt;/a&gt;. This solves a problem that we&amp;rsquo;ve seen with tenants with greater than 30M time series in Cortex - namely, that the count of uncompacted blocks grew indefinitely because the compactor couldn’t work fast enough. With its new compactor, a single Grafana Mimir cluster can support over one billion active time series. Refer to &lt;a href=&#34;../../operators-guide/architecture/components/compactor/&#34;&gt;compactor&lt;/a&gt; to learn more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Query sharding for improved query speeds&lt;/strong&gt;: Grafana Mimir introduces query sharding to accelerate the execution of high-cardinality or CPU-intensive queries. Query sharding distributes the execution of a single query across multiple machines, to significantly reduce query execution time. We have seen speedups of 10 to 30x in our Grafana Cloud Metrics clusters. Refer to &lt;a href=&#34;../../operators-guide/architecture/query-sharding/&#34;&gt;query sharding&lt;/a&gt; to learn more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Federated rule groups&lt;/strong&gt;: Grafana Mimir makes it possible to write alerting and recording rules that use metrics data from multiple tenants. For example, a user can now create a recording rule that adds metricA from tenantA to metricB from tenantB and writes the result to tenantC. This feature is experimental. For more information on how to use it, refer to &lt;a href=&#34;../../operators-guide/architecture/components/ruler/#federated-rule-groups&#34;&gt;federated rule groups&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Understand your metrics cardinality&lt;/strong&gt;: Grafana Mimir adds two API endpoints to help users identify high-cardinality metrics. The &lt;a href=&#34;../../operators-guide/reference-http-api/#label-names-cardinality&#34;&gt;&lt;code&gt;label_names&lt;/code&gt; endpoint&lt;/a&gt; takes a metric name and returns all label names applied to that metric, as well as the count of values for each label name. When run without a metric name, it returns the highest-cardinality label names. The &lt;a href=&#34;../../operators-guide/reference-http-api/#label-values-cardinality&#34;&gt;&lt;code&gt;label_values&lt;/code&gt; endpoint&lt;/a&gt; returns the highest-cardinality metrics, and can be used to get a count of how many series have a given label-value pair applied. The new &lt;a href=&#34;../../operators-guide/configure/configure-custom-trackers/&#34;&gt;custom tracker feature&lt;/a&gt; takes this one step further by allowing you to track the count of active series over time that match a specific label matcher.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These features are no longer considered experimental; they are stable features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cross tenant query federation&lt;/strong&gt; is a feature that allows you to issue queries that aggregate series across multiple tenants, providing a way to get a global view of your data. Refer to &lt;code&gt;tenant-federation.enabled&lt;/code&gt; in the &lt;a href=&#34;../../operators-guide/configure/reference-configuration-parameters/#configuration-parameters&#34;&gt;configuration parameters&lt;/a&gt; block to learn more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Zone-aware replication&lt;/strong&gt; protects against data loss due to an outage in a specific zone by ensuring data is replicated across multiple zones. In addition to promoting this feature to stable, we’ve also released a &lt;a href=&#34;https://github.com/grafana/rollout-operator&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Kubernetes operator&lt;/a&gt; that makes it easier for those running Grafana Mimir on Kubernetes to manage multi-zone rollouts. Refer to &lt;a href=&#34;../../operators-guide/configure/configure-zone-aware-replication/&#34;&gt;Configuring zone-aware replication&lt;/a&gt; to learn more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Azure Blob storage and OpenStack Swift support&lt;/strong&gt;: Two additional object storage options are available. Grafana Mimir now supports AWS S3, GCS, Azure Blob Storage, OpenStack Swift, as well as any S3-compatible object storage.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Horizontally scalable Alertmanager&lt;/strong&gt;: The &lt;a href=&#34;../../operators-guide/architecture/components/alertmanager/&#34;&gt;Alertmanager&lt;/a&gt; can distribute its workload among multiple Alertmanager replicas, increasing the maximum number of tenants a cluster can comfortably handle. The Alertmanager uses the tenant ID to determine which replica(s) own which tenant. The replication factor is configurable, so alerts are replicated across multiple replicas, reducing the likelihood of a dropped alert.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Query-scheduler component&lt;/strong&gt;: The query-scheduler component solves the scalability limitations of the query-frontend component. We strongly encourage users operating larger Grafana Mimir clusters to run this optional component. Refer to the &lt;a href=&#34;../../operators-guide/architecture/components/query-scheduler/&#34;&gt;query-scheduler&lt;/a&gt; to learn more about this component.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;migration-considerations&#34;&gt;Migration considerations&lt;/h2&gt;
&lt;p&gt;This information is relevant only to users migrating from Cortex to Grafana Mimir. Those who are not currently using Cortex today can follow our tutorial to &lt;a href=&#34;/tutorials/play-with-grafana-mimir/&#34;&gt;Get Mimir up and running in 10 minutes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Grafana Mimir is 100% compatible with Cortex, and the migration from Cortex to Mimir can be done without any data loss or downtime.&lt;/p&gt;
&lt;p&gt;Grafana Mimir 2.0 is a major version upgrade, and therefore it introduces several breaking changes for those migrating from Cortex. To make this upgrade as easy as possible, we’ve added functionality to &lt;a href=&#34;../../operators-guide/tools/mimirtool/&#34;&gt;&lt;code&gt;mimirtool&lt;/code&gt;&lt;/a&gt; to automate the required configuration changes. We’ve paired this tooling with detailed &lt;a href=&#34;../../migration-guide/&#34;&gt;migration guides&lt;/a&gt; that walk through all required changes.&lt;/p&gt;
&lt;p&gt;For a demonstration that illustrates how easy this migration can be, please see the following video:&lt;/p&gt;





  
  
  


&lt;div&gt;
  &lt;iframe src=&#34;https://player.vimeo.com/video/742056367?transparent=0&#34; title=&#34;vimeo video&#34; webkitallowfullscreen=&#34;&#34; mozallowfullscreen=&#34;&#34; allowfullscreen=&#34;&#34;&gt;&lt;/iframe&gt;
  &lt;div &gt;
    
  &lt;/div&gt;
&lt;/div&gt;
&lt;br/&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;h3 id=&#34;200-bug-fixes&#34;&gt;2.0.0 bug fixes&lt;/h3&gt;
&lt;p&gt;Version 2.0.0 fixes these bugs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/424&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 424&lt;/a&gt;: Fixed a bug where cached results for step-aligned queries were used to respond to unaligned queries, causing the user to receive incorrect results. The new configuration parameter &lt;code&gt;query-frontend.cache-unaligned-requests&lt;/code&gt; safely enables the caching of query results, even when the query step is not aligned.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/224&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 224&lt;/a&gt;: Fixed a race condition in the Alertmanager, which sometimes resulted in a tenant’s configuration being replaced with the blank fallback configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/551&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 551&lt;/a&gt;: Fixed a bug in &lt;code&gt;memberlist&lt;/code&gt; that caused large messages to be corrupted. This bug fix, in addition to the memberlist performance optimizations, enabled us to switch to &lt;code&gt;memberlist&lt;/code&gt; as the default store for Grafana Mimir’s hash rings.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-20-release-notes">Grafana Mimir version 2.0 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce the first release of Grafana Mimir, the most scalable, most performant open source time series database in the world. In customer tests, we’ve shown that a single cluster can support more than one billion active time series.&lt;/p></description></item><item><title>Grafana Mimir version 2.1 release notes</title><link>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.1/</link><pubDate>Thu, 16 Apr 2026 08:04:45 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.1/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-21-release-notes&#34;&gt;Grafana Mimir version 2.1 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.1 of Grafana Mimir, the most scalable, most performant open source time series database in the world.&lt;/p&gt;
&lt;p&gt;Below we highlight the top features, enhancements and bugfixes in this release, as well as relevant callouts for those upgrading from Grafana Mimir 2.0. The complete list of changes is recorded in the &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;features-and-enhancements&#34;&gt;Features and enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mimir on ARM&lt;/strong&gt;: We now publish Docker images for both &lt;code&gt;amd64&lt;/code&gt; and &lt;code&gt;arm64&lt;/code&gt;, making it easier for those on arm-based machines to develop and run Mimir. Multiplaform images are available from the the &lt;a href=&#34;https://hub.docker.com/r/grafana/mimir&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Mimir docker registry&lt;/a&gt;. Note that our existing integration test suite only uses the &lt;code&gt;amd64&lt;/code&gt; images, which means we cannot make any functional or performance guarantees about the &lt;code&gt;arm64&lt;/code&gt; images.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;Remote&lt;/code&gt; ruler mode for improved rule evaluation performance&lt;/strong&gt;: We&amp;rsquo;ve added a &lt;code&gt;remote&lt;/code&gt; mode for the Grafana Mimir ruler, in which the ruler delegates rule evaluation to the &lt;a href=&#34;../../operators-guide/architecture/components/query-frontend/&#34;&gt;query-frontend&lt;/a&gt; rather than evaluating rules directly within the ruler process itself. This allows recording and alerting rules to benefit from the query parallelization techniques implemented in the query-frontend (like query sharding). &lt;code&gt;Remote&lt;/code&gt; mode is considered experimental and is off by default. To enable, see &lt;a href=&#34;../../operators-guide/architecture/components/ruler/#remote&#34;&gt;remote ruler&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Per-tenant custom trackers for monitoring cardinality&lt;/strong&gt;: In Grafana Mimir 2.0, we introduced a &lt;a href=&#34;../../operators-guide/configure/configure-custom-trackers/&#34;&gt;custom tracker feature&lt;/a&gt; that allows you to track the count of active series over time that match a specific label matcher. In Grafana Mimir 2.1, we&amp;rsquo;ve made it possible to configure custom trackers via the &lt;a href=&#34;../../operators-guide/configure/about-runtime-configuration/&#34;&gt;runtime configuration file&lt;/a&gt;. This means you can now define different trackers for each tenant in your cluster and modify those trackers without an ingester restart.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Reduce cardinality of Grafana Mimir&amp;rsquo;s &lt;code&gt;/metrics&lt;/code&gt; endpoint&lt;/strong&gt;: While Grafana Mimir does a good job of exposing a relatively small number of series about its own state, this number can tick up when running Grafana Mimir clusters with high tenant counts or high active series counts. To reduce this number (and the accompanying cost of scraping and storing these time series), we made &lt;a href=&#34;https://github.com/grafana/mimir/issues/1750&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;several optimizations&lt;/a&gt; which decreased series count on the &lt;code&gt;/metrics&lt;/code&gt; endpoint by more than 10%.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;upgrade-considerations&#34;&gt;Upgrade considerations&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;ve updated the default values for 2 parameters in Grafana Mimir to give users better out-of-the-box performance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We&amp;rsquo;ve changed the default for &lt;code&gt;-blocks-storage.tsdb.isolation-enabled&lt;/code&gt; from &lt;code&gt;true&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt;. We&amp;rsquo;ve marked this flag as deprecated and will remove it completely in 2 releases. &lt;a href=&#34;/blog/2020/05/05/how-isolation-improves-queries-in-prometheus-2.17/&#34;&gt;TSDB isolation&lt;/a&gt; is a feature inherited from Prometheus that didn&amp;rsquo;t provide any benefit given Grafana Mimir&amp;rsquo;s distributed architecture and in our &lt;a href=&#34;/blog/2022/04/08/how-we-scaled-our-new-prometheus-tsdb-grafana-mimir-to-1-billion-active-series/#prometheus-tsdb-enhancements&#34;&gt;1 billion series load test&lt;/a&gt; we found it actually hurt performance. Disabling it reduced our ingester 99th percentile latency by 90%.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The store-gateway attributes cache is now enabled by default (achieved by updating the default for &lt;code&gt;-blocks-storage.bucket-store.chunks-cache.attributes-in-memory-max-items&lt;/code&gt; from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;50000&lt;/code&gt;). This in-memory cache makes it faster to look up object attributes for chunk data. We&amp;rsquo;ve been running this optional cache internally for a while and upon a recent configuration audit, realized it made sense to do the same for all users. The increase in store-gateway memory utilization from enabling this cache is negligible and easily justified given the performance gains.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;As part of the enhancement to make active series custom trackers configurable on a per-tenant basis, we&amp;rsquo;ve moved where they get configured. Users of this feature should migrate from defining &lt;code&gt;active_series_custom_trackers_config&lt;/code&gt; in the &lt;code&gt;ingester&lt;/code&gt; section of Grafana Mimir&amp;rsquo;s &lt;a href=&#34;../../operators-guide/configure/reference-configuration-parameters/#configuration-parameters&#34;&gt;YAML configuration&lt;/a&gt; to defining it in the &lt;code&gt;limits&lt;/code&gt; section. Both options are supported for now to give users time to make the change, but configuring &lt;code&gt;active_series_custom_trackers_config&lt;/code&gt; via the &lt;code&gt;ingester&lt;/code&gt; section has been marked deprecated and will be removed in Mimir 2.3. Note: Configuring &lt;code&gt;active_series_custom_trackers_config&lt;/code&gt; in both the &lt;code&gt;limits&lt;/code&gt; and &lt;code&gt;ingester&lt;/code&gt; sections will cause Grafana Mimir to fail on startup.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;h3 id=&#34;210-bug-fixes&#34;&gt;2.1.0 bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/1704&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1704&lt;/a&gt;: Fixed a bug that previously caused Grafana Mimir to crash on startup when trying to run in monolithic mode with the results cache enabled due to duplicate metric names.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/1835&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1835&lt;/a&gt;: Fixed a bug that caused Grafana Mimir to crash when an invalid Alertmanager configuration was set even though the Alertmanager component was disabled. After this fix, the Alertmanager configuration is only validated if the Alertmanager component is loaded.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/1836&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1836&lt;/a&gt;: The ability to run Alertmanager with &lt;code&gt;local&lt;/code&gt; storage broke in Grafana Mimir 2.0 when we removed the ability to run the Alertmanager without sharding. With this bugfix, we&amp;rsquo;ve made it possible to again run Alertmanager with &lt;code&gt;local&lt;/code&gt; storage. However, for production use, we still recommend using external store since this is needed to persist Alertmanager state (e.g. silences) between replicas.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/1715&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1715&lt;/a&gt;: Restored Grafana Mimir&amp;rsquo;s ability to use CNAME DNS records to reach memcached servers. The bug was inherited from an upstream change to Thanos; we contributed a fix to Thanos and subsequently updated our Thanos version.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-21-release-notes">Grafana Mimir version 2.1 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.1 of Grafana Mimir, the most scalable, most performant open source time series database in the world.&lt;/p></description></item><item><title>Grafana Mimir version 2.2 release notes</title><link>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.2/</link><pubDate>Thu, 16 Apr 2026 08:04:45 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.2/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-22-release-notes&#34;&gt;Grafana Mimir version 2.2 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.2 of Grafana Mimir, the most scalable, most performant open source time series database in the world.&lt;/p&gt;
&lt;p&gt;The highlights that follow include the top features, enhancements, and bugfixes in this release. If you are upgrading from Grafana Mimir 2.1, there is upgrade-related information as well.
For the complete list of changes, see the &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;features-and-enhancements&#34;&gt;Features and enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Support for ingesting out-of-order samples&lt;/strong&gt;: Grafana Mimir includes new, experimental support for ingesting out-of-order samples.
This support is configurable, and it allows you to set how far out-of-order Mimir accepts samples on a per-tenant basis.
This feature still needs additional testing; we do not recommend using it in a production environment.
For more information, see &lt;a href=&#34;../../operators-guide/configure/configure-out-of-order-samples-ingestion/&#34;&gt;Configuring out-of-order samples ingestion&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved error messages&lt;/strong&gt;: The error messages that Mimir reports are more human readable, and the messages include error codes that are easily searchable.
For error descriptions, see the Grafana Mimir runbooks’ &lt;a href=&#34;../../operators-guide/mimir-runbooks/#errors-catalog&#34;&gt;Errors catalog&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configurable prefix for object storage&lt;/strong&gt;: Mimir can now store block data, rules, and alerts in one bucket, with each under its own user-defined prefix, rather than requiring one bucket for each.
You can configure the storage prefix by using &lt;code&gt;-&amp;lt;storage&amp;gt;.storage-prefix&lt;/code&gt; option for corresponding storage: &lt;code&gt;ruler-storage&lt;/code&gt;, &lt;code&gt;alertmanager-storage&lt;/code&gt; or &lt;code&gt;blocks-storage&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Store-gateway performance optimization&lt;/strong&gt;
The store-gateway can now pre-populate the file system cache when memory-mapping index-header files.
This avoids the store-gateway from appearing to be stuck while loading &lt;a href=&#34;../../operators-guide/architecture/binary-index-header/&#34;&gt;index-headers&lt;/a&gt;.
This feature is experimental and disabled by default; enable it using the flag &lt;code&gt;-blocks-storage.bucket-store.index-header.map-populate-enabled&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Faster ingester startup&lt;/strong&gt;: Ingesters now replay their WALs (write ahead logs) about 50% faster, and they also re-join the ring sooner under some conditions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Helm Chart improvements&lt;/strong&gt;: The &lt;a href=&#34;https://github.com/grafana/mimir/tree/main/operations/helm/charts/mimir-distributed&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Mimir Helm chart&lt;/a&gt; is the best way to install Mimir on Kubernetes. As part of the Mimir 2.2 release, we&amp;rsquo;re also releasing version 3.0 of the Helm chart. Notable enhancements follow. For the full list of changes, see the &lt;a href=&#34;https://github.com/grafana/mimir/tree/main/operations/helm/charts/mimir-distributed/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Helm chart changelog&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Helm chart now supports &lt;a href=&#34;https://www.redhat.com/en/technologies/cloud-computing/openshift&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;OpenShift&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The Helm chart can now easily deploy &lt;a href=&#34;https://github.com/grafana/agent&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Agent&lt;/a&gt; in order to scrape metrics and logs from all Mimir pods, and ship them to a remote store, which makes it easier to monitor the health of your Mimir installation. For more information, see &lt;a href=&#34;../../operators-guide/monitor-grafana-mimir/collecting-metrics-and-logs/&#34;&gt;Collecting metrics and logs from Grafana Mimir&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The Helm chart now enables multi-tenancy by default. This makes it easy for you to add tenants as you grow your cluster. You can take advantage of Mimir&amp;rsquo;s per-tenant quality-of-service features, which improves stability and resilience at high scale. To learn more about how multi-tenancy in Mimir works, see &lt;a href=&#34;../../operators-guide/secure/authentication-and-authorization/&#34;&gt;Grafana Mimir authorization and authentication&lt;/a&gt;. This change is backwards-compatible. To read about how we implemented this, see &lt;a href=&#34;https://github.com/grafana/mimir/pull/2117&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;#2117&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;We have significantly improved the configuration experience for the Helm chart, and here are a few of the most salient changes:
&lt;ul&gt;
&lt;li&gt;We&amp;rsquo;ve added an &lt;code&gt;extraEnvFrom&lt;/code&gt; capability to all Mimir services to enable you to inject secrets via environment variables.&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ve made it possible to globally set environment variables and inject secrets across all pods in the chart using &lt;code&gt;global.extraEnv&lt;/code&gt; and &lt;code&gt;global.extraEnvFrom&lt;/code&gt;. Note that the memcached and minio pods are not included.&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ve switched the default storage of the Mimir configuration from a &lt;code&gt;Secret&lt;/code&gt; to a &lt;code&gt;ConfigMap&lt;/code&gt;, which makes it easier to quickly see the differences between your Mimir configurations between upgrades. We especially like the &lt;a href=&#34;https://github.com/databus23/helm-diff&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Helm diff&lt;/a&gt; plugin for this purpose.&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ve added a &lt;code&gt;structuredConfig&lt;/code&gt; option, which allows you to overwrite specific key-value pairs in the &lt;code&gt;mimir.config&lt;/code&gt; template, which saves you from having to maintain the entire &lt;code&gt;mimir.config&lt;/code&gt; in your own &lt;code&gt;values.yaml&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ve added the ability to create global pod annotations. This unlocks the ability to trigger a restart of all services in response to a single event, such as the update of the secret containing Mimir&amp;rsquo;s storage credentials.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ve set the chart to disable &lt;code&gt;-ingester.ring.unregister-on-shutdown&lt;/code&gt; and &lt;code&gt;-distributor.extend-writes&lt;/code&gt;, for a smoother upgrade experience. Rolling restarts of ingesters are now less likely to cause spikes in resource usage.&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ve improved the documentation for the Helm chart by adding a &lt;a href=&#34;../../operators-guide/deploy-grafana-mimir/getting-started-helm-charts/&#34;&gt;Getting started with Mimir using the Helm chart&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ve added a smoke test for your Mimir cluster to help catch errors immediately after you install or upgrade Mimir via the Helm chart.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;upgrade-considerations&#34;&gt;Upgrade considerations&lt;/h2&gt;
&lt;p&gt;All deprecated API endpoints that are under &lt;code&gt;/api/v1/rules*&lt;/code&gt; and &lt;code&gt;/prometheus/rules*&lt;/code&gt; have now been removed from the ruler component in favor of identical endpoints that use the prefix &lt;code&gt;/prometheus/config/v1/rules*&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In Grafana Mimir 2.2, we have updated default values and some parameters to give you a better out-of-the-box experience:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Message size limits for gRPC messages that are exchanged between internal Mimir components have increased to 100 MiB from 4 MiB.
This helps to avoid internal server errors when pushing or querying large data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;-blocks-storage.bucket-store.ignore-blocks-within&lt;/code&gt; parameter changed from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;10h&lt;/code&gt;.
The default value of &lt;code&gt;-querier.query-store-after&lt;/code&gt; changed from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;12h&lt;/code&gt;.
For most-recent data, both changes improve query performance by querying only the ingesters, rather than object storage.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The option &lt;code&gt;-querier.shuffle-sharding-ingesters-lookback-period&lt;/code&gt; has been deprecated.
If you previously changed this option from its default of &lt;code&gt;0s&lt;/code&gt;, set &lt;code&gt;-querier.shuffle-sharding-ingesters-enabled&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt; and specify the lookback period by setting the &lt;code&gt;-querier.query-ingesters-within&lt;/code&gt; option.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;-memberlist.abort-if-join-fails&lt;/code&gt; parameter now defaults to &lt;code&gt;false&lt;/code&gt;.
When Mimir is using memberlist as the backend store for its hash ring, and it fails to join the memberlist cluster, Mimir no longer aborts startup by default.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have used a previous version of the &lt;a href=&#34;https://github.com/grafana/mimir/tree/main/operations/helm/charts/mimir-distributed&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Mimir Helm chart&lt;/a&gt;, you must address some of the chart&amp;rsquo;s breaking changes before upgrading to helm chart version 3.0. For a detailed information about how to do this, see &lt;a href=&#34;../../operators-guide/deploy-grafana-mimir/upgrade-helm-chart-2.1-to-3.0/&#34;&gt;Upgrade the Grafana Mimir Helm chart from version 2.1 to 3.0&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/1883&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1883&lt;/a&gt;: Fixed a bug that caused the query-frontend and querier to crash when they received a user query with a special regular expression label matcher.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/1933&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1933&lt;/a&gt;: Fixed a bug in the &lt;a href=&#34;../../operators-guide/reference-http-api/#ingesters-ring-status&#34;&gt;ingester ring page&lt;/a&gt;, which showed incorrect status of entries in the ring.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/2090&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 2090&lt;/a&gt;: Ruler in &lt;a href=&#34;../../operators-guide/architecture/components/ruler/#remote&#34;&gt;remote rule evaluation mode&lt;/a&gt; now applies the timeout correctly. Previously the ruler could get stuck forever, which halted rule evaluation.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/2036&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 2036&lt;/a&gt;: Fixed panic at startup when Mimir is running in monolithic mode and query sharding is enabled.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-22-release-notes">Grafana Mimir version 2.2 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.2 of Grafana Mimir, the most scalable, most performant open source time series database in the world.&lt;/p></description></item><item><title>Grafana Mimir version 2.3 release notes</title><link>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.3/</link><pubDate>Thu, 16 Apr 2026 08:04:45 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.3/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-23-release-notes&#34;&gt;Grafana Mimir version 2.3 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.3 of Grafana Mimir, the most scalable, most performant open source time series database in the world.&lt;/p&gt;
&lt;p&gt;The highlights that follow include the top features, enhancements, and bugfixes in this release. For the complete list of changes, see the &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you are upgrading from Grafana Mimir 2.2, review the &lt;a href=&#34;#important-changes&#34;&gt;list of important changes&lt;/a&gt; that follow.&lt;/p&gt;
&lt;h2 id=&#34;features-and-enhancements&#34;&gt;Features and enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ingest metrics in OpenTelemetry format&lt;/strong&gt;:
This release of Grafana Mimir introduces experimental support for ingesting metrics from the &lt;a href=&#34;https://opentelemetry.io/docs/collector/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;OpenTelemetry Collector&amp;rsquo;s&lt;/a&gt; &lt;a href=&#34;https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/otlphttpexporter/README.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;code&gt;otlphttp&lt;/code&gt; exporter&lt;/a&gt;. This adds a second ingestion option for users of the OTel Collector; Mimir was already compatible with the &lt;a href=&#34;https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/prometheusremotewriteexporter&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;code&gt;prometheusremotewrite&lt;/code&gt; exporter&lt;/a&gt;. For more information, please see &lt;a href=&#34;../../operators-guide/configure/configure-otel-collector/&#34;&gt;Configure OTel Collector&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tenant federation for metadata queries&lt;/strong&gt;:
Users with &lt;a href=&#34;../../operators-guide/secure/authentication-and-authorization/#grafana-mimir-authentication-and-authorization&#34;&gt;tenant federation enabled&lt;/a&gt; could already issue instant queries, range queries, and exemplar queries to multiple tenants at once and receive a single aggregated result. With Grafana Mimir 2.3, we&amp;rsquo;ve added tenant federation support to the &lt;code&gt;/api/v1/metadata&lt;/code&gt; endpoint as well.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Simpler object storage configuration&lt;/strong&gt;:
Users can now configure block, alertmanager, and ruler storage all at once with the &lt;code&gt;common&lt;/code&gt; YAML config option key (or &lt;code&gt;-common.storage.*&lt;/code&gt; CLI flags). By centralizing your object storage configuration in one place, this enhancement makes configuration faster and less error prone. Users may still individually configure storage for each of these components if they desire. For more information, see the &lt;a href=&#34;../../operators-guide/configure/about-configurations/#common-configurations&#34;&gt;Common Configurations&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;.deb and .rpm packages for Mimir&lt;/strong&gt;:
Starting with version 2.3, we&amp;rsquo;re publishing .deb and .rpm files for Grafana Mimir, which will make installing and running it on Debian or RedHat-based linux systems much easier. Thank you to community contributor &lt;a href=&#34;https://github.com/wilfriedroset&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;wilfriedroset&lt;/a&gt; for your work to implement this!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Import historic data&lt;/strong&gt;:
Users can now backfill time series data from their existing Prometheus or Cortex installation into Mimir using &lt;code&gt;mimirtool&lt;/code&gt;, making it possible to migrate to Grafana Mimir without losing your existing metrics data. This support is still considered experimental and does not yet work for data stored in Thanos. To learn more about this feature, please see &lt;a href=&#34;../../operators-guide/tools/mimirtool/#backfill&#34;&gt;&lt;code&gt;mimirtool backfill&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;../../operators-guide/configure/configure-tsdb-block-upload/&#34;&gt;Configure TSDB block upload&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Increased instant query performance&lt;/strong&gt;:
Grafana Mimir now supports splitting instant queries by time. This allows it to better parallelize execution of instant queries and therefore return results faster. At present, splitting is only supported for a subset of instant queries, which means not all instant queries will see a speedup. This feature is currently experimental and is disabled by default. It can be enabled with the &lt;code&gt;split_instant_queries_by_interval&lt;/code&gt; YAML config option in the &lt;code&gt;limits&lt;/code&gt; section (or the CLI flag &lt;code&gt;-query-frontend.split-instant-queries-by-interval&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;helm-chart-improvements&#34;&gt;Helm chart improvements&lt;/h3&gt;
&lt;p&gt;The Mimir Helm chart is the best way to install Mimir on Kubernetes. As part of the Mimir 2.3 release, we’re also releasing version 3.1 of the Mimir Helm chart.&lt;/p&gt;
&lt;p&gt;Notable enhancements follow. For the full list of changes, see the &lt;a href=&#34;https://github.com/grafana/mimir/tree/main/operations/helm/charts/mimir-distributed/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Helm chart changelog&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We&amp;rsquo;ve upgraded the MinIO subchart dependency from a &lt;a href=&#34;https://helm.min.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;deprecated chart&lt;/a&gt; to the &lt;a href=&#34;https://charts.min.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;supported one&lt;/a&gt;. This creates a &lt;strong&gt;breaking change&lt;/strong&gt; in how the administrator password is set. However, as the built-in MinIO is not a recommended object store for production use cases, this change did not warrant a new major version of the Mimir Helm chart.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/mimir/latest/operators-guide/architecture/query-sharding/&#34;&gt;Query sharding&lt;/a&gt; is now enabled by default which should give you better performance on high cardinality metrics queries.
&lt;ul&gt;
&lt;li&gt;To compensate for the increased number of queries generated by query sharding, the &lt;a href=&#34;/docs/mimir/latest/operators-guide/architecture/components/query-scheduler/&#34;&gt;query scheduler&lt;/a&gt; component is now enabled by default.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The backfill API endpoints for importing historic time series data are now exposed on the Nginx gateway.&lt;/li&gt;
&lt;li&gt;Nginx now sets the value of the &lt;code&gt;X-Scope-OrgID&lt;/code&gt; header equal to the value of Mimir&amp;rsquo;s &lt;code&gt;no_auth_tenant&lt;/code&gt; parameter by default. The previous release had set the value of &lt;code&gt;X-Scope-OrgID&lt;/code&gt; to &lt;code&gt;anonymous&lt;/code&gt; by default which &lt;a href=&#34;https://github.com/grafana/mimir/issues/2563&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;complicated the process of migrating to Mimir&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Memberlist now uses DNS service-discovery by default, which decreases startup time for large Mimir clusters.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;important-changes&#34;&gt;Important changes&lt;/h2&gt;
&lt;p&gt;In Grafana Mimir 2.3 we have removed the following previously deprecated configuration options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;extend_writes&lt;/code&gt; parameter in the distributor YAML configuration and &lt;code&gt;-distributor.extend-writes&lt;/code&gt; CLI flag have been removed.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;active_series_custom_trackers&lt;/code&gt; parameter has been removed from the YAML configuration. It had already been moved to the runtime configuration. See &lt;a href=&#34;https://github.com/grafana/mimir/pull/1188&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;#1188&lt;/a&gt; for details.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;blocks-storage.tsdb.isolation-enabled&lt;/code&gt; parameter in the YAML configuration and &lt;code&gt;-blocks-storage.tsdb.isolation-enabled&lt;/code&gt; CLI flag have been removed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With Grafana Mimir 2.3 we have also updated the default value for the CLI flag &lt;code&gt;-distributor.ha-tracker.max-clusters&lt;/code&gt; to &lt;code&gt;100&lt;/code&gt; to provide Denial-of-Service protection. Previously &lt;code&gt;-distributor.ha-tracker.max-clusters&lt;/code&gt; was unlimited by default which could allow a tenant with HA Dedupe enabled to overload the HA tracker with &lt;code&gt;__cluster__&lt;/code&gt; label values that could cause the HA Dedupe database to fail.&lt;/p&gt;
&lt;p&gt;Also, as &lt;a href=&#34;#helm-chart-improvements&#34;&gt;noted above&lt;/a&gt;, the administrator password for Helm chart deployments using the built-in MinIO is now set differently.&lt;/p&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/2447&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 2447&lt;/a&gt;: Fix incorrect mapping of http status codes &lt;code&gt;429&lt;/code&gt; to &lt;code&gt;500&lt;/code&gt; when the request queue is full in the query-frontend. This corrects behavior in the query-frontend where a &lt;em&gt;retryable&lt;/em&gt; &lt;code&gt;429 &amp;quot;Too Many Outstanding Requests&amp;quot;&lt;/code&gt; error from a querier was incorrectly returned as an &lt;em&gt;unretryable&lt;/em&gt; &lt;code&gt;500&lt;/code&gt; system error.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/2505&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 2505&lt;/a&gt;: The Memberlist key-value (KV) store now tries to &amp;ldquo;fast-join&amp;rdquo; the cluster to avoid serving an empty KV store. This fix addresses the confusing &amp;ldquo;empty ring&amp;rdquo; error response and the error log message &amp;ldquo;ring doesn&amp;rsquo;t exist in KV store yet&amp;rdquo; emitted by services when there are other members present in the ring when a service starts. Those using other key-value store options (e.g., consul, etcd) are not impacted by this bug.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/2289&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 2289&lt;/a&gt;: The &amp;ldquo;List Prometheus rules&amp;rdquo; API endpoint of the Mimir Ruler component is no longer blocked while rules are being synced. This means users can now list rules while syncing larger rule sets.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-23-release-notes">Grafana Mimir version 2.3 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.3 of Grafana Mimir, the most scalable, most performant open source time series database in the world.&lt;/p></description></item><item><title>Grafana Mimir version 2.4 release notes</title><link>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.4/</link><pubDate>Thu, 16 Apr 2026 08:04:45 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.4/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-24-release-notes&#34;&gt;Grafana Mimir version 2.4 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.4 of Grafana Mimir.&lt;/p&gt;
&lt;p&gt;The highlights that follow include the top features, enhancements, and bugfixes in this release. For the complete list of changes, see the &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;changelog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you are upgrading from Grafana Mimir 2.3, review the &lt;a href=&#34;#important-changes&#34;&gt;list of important changes&lt;/a&gt; that follow.&lt;/p&gt;
&lt;h2 id=&#34;features-and-enhancements&#34;&gt;Features and enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Query-scheduler ring-based service discovery&lt;/strong&gt;:
The &lt;a href=&#34;../../operators-guide/architecture/components/query-scheduler/&#34;&gt;query-scheduler&lt;/a&gt; is an optional, stateless component that retains a queue of queries to execute, and distributes the workload to available queriers. The use the query-scheduler, query-frontends and queriers are required to discover the addresses of the query-scheduler instances.&lt;/p&gt;
&lt;p&gt;In addition to DNS-based service discovery, Mimir 2.4 introduces the ring-based service discovery for the query-scheduler. When enabled, the query-schedulers join their own hash ring (similar to other Mimir components), and the query-frontends and queriers discover query-scheduler instances via the ring.&lt;/p&gt;
&lt;p&gt;Ring-based service discovery makes it easier to set up the query-scheduler in environments where you can&amp;rsquo;t easily define a DNS entry that resolves to the running query-scheduler instances. For more information, refer to &lt;a href=&#34;../../operators-guide/architecture/components/query-scheduler/#configuration&#34;&gt;query-scheduler configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New API endpoint exposes per-tenant limits&lt;/strong&gt;:
Mimir 2.4 introduces a new API endpoint, which is available on all Mimir components that load the runtime configuration. The endpoint exposes the limits of the authenticated tenant. You can use this new API endpoint when developing custom integrations with Mimir that require looking up the actual limits that are applied on a given tenant. For more information, refer to &lt;a href=&#34;../../operators-guide/reference-http-api/#get-tenant-limits&#34;&gt;Get tenant limits&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New TLS configuration options&lt;/strong&gt;:
Mimir 2.4 introduces new options to configure the accepted TLS cipher suites, and the minimum versions for the HTTP and gRPC clients that are used between Mimir components, or by Mimir to communicate to external services such as Consul or etcd.&lt;/p&gt;
&lt;p&gt;You can use these new configuration options to override the default TLS settings and meet your security policy requirements. For more information, refer to &lt;a href=&#34;../../operators-guide/secure/securing-communications-with-tls/&#34;&gt;Securing Grafana Mimir communications with TLS&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Maximum range query length limit&lt;/strong&gt;:
Mimir 2.4 introduces the new configuration option &lt;code&gt;-query-frontend.max-total-query-length&lt;/code&gt; to limit the maximum range query length, which is computed as the query&amp;rsquo;s &lt;code&gt;end&lt;/code&gt; minus &lt;code&gt;start&lt;/code&gt; timestamp. This limit is enforced in the query-frontend and defaults to &lt;code&gt;-store.max-query-length&lt;/code&gt; if unset.&lt;/p&gt;
&lt;p&gt;The new configuration option allows you to set different limits between the received query maximum length (&lt;code&gt;-query-frontend.max-total-query-length&lt;/code&gt;) and the maximum length of partial queries after splitting and sharding (&lt;code&gt;-store.max-query-length&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following experimental features have been promoted to stable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../operators-guide/architecture/components/ruler/#remote&#34;&gt;Ruler&amp;rsquo;s remote evaluation mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../operators-guide/configure/configure-hash-rings/#cluster-label-verification&#34;&gt;Memberlist cluster label verification&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;helm-chart-improvements&#34;&gt;Helm chart improvements&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;mimir-distributed&lt;/code&gt; Helm chart is the best way to install Mimir on Kubernetes. As part of the Mimir 2.4 release, we’re also releasing version 3.2 of the &lt;code&gt;mimir-distributed&lt;/code&gt; Helm chart.&lt;/p&gt;
&lt;p&gt;Notable enhancements follow. For the full list of changes, see the &lt;a href=&#34;https://github.com/grafana/mimir/tree/main/operations/helm/charts/mimir-distributed/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Helm chart changelog&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added support for &lt;a href=&#34;https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;topologySpreadContraints&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Replaced the default anti-affinity rules with topologySpreadContraints for all components which puts less restrictions on where Kubernetes can run pods.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Important&lt;/strong&gt;: if you are not using the sizing plans (small.yaml, large.yaml, capped-small.yaml, capped-large.yaml) in production, you must reintroduce pod affinity rules for the ingester and store-gateway. This also fixes a missing label selector for the ingester.
Merge the following with your custom values file:

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;ingester:
  affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchExpressions:
              - key: target
                operator: In
                values:
                  - ingester
          topologyKey: &amp;#34;kubernetes.io/hostname&amp;#34;
        - labelSelector:
            matchExpressions:
              - key: app.kubernetes.io/component
                operator: In
                values:
                  - ingester
          topologyKey: &amp;#34;kubernetes.io/hostname&amp;#34;
store_gateway:
  affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchExpressions:
              - key: target
                operator: In
                values:
                  - store-gateway
          topologyKey: &amp;#34;kubernetes.io/hostname&amp;#34;
        - labelSelector:
            matchExpressions:
              - key: app.kubernetes.io/component
                operator: In
                values:
                  - store-gateway
          topologyKey: &amp;#34;kubernetes.io/hostname&amp;#34;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Updated the anti affinity rules in the sizing plans (small.yaml, large.yaml, capped-small.yaml, capped-large.yaml). The sizing plans now enforce that no two pods of the ingester, store-gateway, or alertmanager StatefulSets are scheduled on the same Node. Pods from different StaatefulSets can share a Node.&lt;/li&gt;
&lt;li&gt;Support for Openshift Route resource for nginx has been added.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;important-changes&#34;&gt;Important changes&lt;/h2&gt;
&lt;p&gt;In Grafana Mimir 2.4, the default values of the following configuration options have changed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-distributor.remote-timeout&lt;/code&gt; has changed from &lt;code&gt;20s&lt;/code&gt; to &lt;code&gt;2s&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-distributor.forwarding.request-timeout&lt;/code&gt; has changed from &lt;code&gt;10s&lt;/code&gt; to &lt;code&gt;2s&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.tsdb.head-compaction-concurrency&lt;/code&gt; has changed from &lt;code&gt;5&lt;/code&gt; to &lt;code&gt;1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The hash-ring heartbeat period for distributors, ingesters, rulers, and compactors has increased from &lt;code&gt;5s&lt;/code&gt; to &lt;code&gt;15s&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In Grafana Mimir 2.4, the following deprecated configuration options have been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The YAML configuration option &lt;code&gt;limits.active_series_custom_trackers_config&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-ingester.ring.join-after&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;ingester.ring.join_after&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-querier.shuffle-sharding-ingesters-lookback-period&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;querier.shuffle_sharding_ingesters_lookback_period&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With Grafana Mimir 2.4, the &lt;a href=&#34;../../operators-guide/configure/about-anonymous-usage-statistics-reporting/&#34;&gt;anonymous usage statistics tracking&lt;/a&gt; is enabled by default.
Mimir maintainers use this anonymous information to learn more about how the open source community runs Mimir and what the Mimir team should focus on when working on the next features and documentation improvements.
If possible, we ask you to keep the usage reporting feature enabled.
In case you want to opt-out from anonymous usage statistics reporting, refer to &lt;a href=&#34;../../operators-guide/configure/about-anonymous-usage-statistics-reporting/#disable-the-anonymous-usage-statistics-reporting&#34;&gt;Disable the anonymous usage statistics reporting&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/2979&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 2979&lt;/a&gt;: Fix remote write HTTP response status code returned by Mimir when failing to write only to one ingester (the quorum is still honored when running Mimir with the default replication factor of 3) and some series are not ingested because of validation errors or some limits being reached.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/3005&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3005&lt;/a&gt;: Fix the querier to re-balance its workers connections when a query-frontend or query-scheduler instance is terminated.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/mimir/pull/2963&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 2963&lt;/a&gt;: Fix the remote read endpoint to correctly support the &lt;code&gt;Accept-Encoding: snappy&lt;/code&gt; HTTP request header.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-24-release-notes">Grafana Mimir version 2.4 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.4 of Grafana Mimir.&lt;/p>
&lt;p>The highlights that follow include the top features, enhancements, and bugfixes in this release. For the complete list of changes, see the &lt;a href="https://github.com/grafana/mimir/blob/main/CHANGELOG.md" target="_blank" rel="noopener noreferrer">changelog&lt;/a>.&lt;/p></description></item><item><title>Grafana Mimir version 2.5 release notes</title><link>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.5/</link><pubDate>Thu, 16 Apr 2026 08:04:45 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.5.x/release-notes/v2.5/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-25-release-notes&#34;&gt;Grafana Mimir version 2.5 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.5 of Grafana Mimir.&lt;/p&gt;
&lt;p&gt;The highlights that follow include the top features, enhancements, and bugfixes in this release. For the complete list of changes, see the &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;features-and-enhancements&#34;&gt;Features and enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Alertmanager Discord support&lt;/strong&gt;
Alertmanager can now be configured to send alerts in Discord channels.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configurable TLS minimum version and cipher suites&lt;/strong&gt;
We added the flags &lt;code&gt;-server.tls-min-version&lt;/code&gt; and &lt;code&gt;-server.tls-cipher-suites&lt;/code&gt; that can be used to define the minimum TLS version and the supported cipher suites in all HTTP and gRPC servers in Mimir.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lower memory usage in store-gateway, ingester and alertmanager&lt;/strong&gt;
We made various changes related to how index lookups are performed and how the active series custom trackers are implemented, which results in better performance and lower overall memory usage in the store-gateway and ingester.
We also optimized the alertmanager, which results in a 50% reduction in memory usage in use cases with larger numbers of tenants.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved Mimir dashboards&lt;/strong&gt;
We added two new dashboards named &lt;code&gt;Mimir / Overview resources&lt;/code&gt; and &lt;code&gt;Mimir / Overview networking&lt;/code&gt;. Furthermore, we have made various improvements to the following existing dashboards:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Mimir / Overview&lt;/code&gt;: Add &amp;ldquo;remote read&amp;rdquo;, &amp;ldquo;metadata&amp;rdquo;, and &amp;ldquo;exemplar&amp;rdquo; queries.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Mimir / Writes&lt;/code&gt;: Add optional row about the distributor&amp;rsquo;s new forwarding feature.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Mimir / Tenants&lt;/code&gt;: Add insights into the read path.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;helm-chart-improvements&#34;&gt;Helm chart improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Zone aware replication&lt;/strong&gt;
Helm now supports deploying the ingesters and store-gateways as different availability zones. The replication is also zone-aware, therefore multiple instances of one zone can fail without any service interruption and roll outs can be performed faster because many instances of each zone can be restarted together, as opposed to them all restarting in sequence.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is a breaking change&lt;/strong&gt;, &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;for details on how to upgrade please review the Helm changelog&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Running without root privileges&lt;/strong&gt;
All Mimir, GEM and Agent processes now don&amp;rsquo;t require root privileges to run anymore.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Unified reverse proxy (&lt;code&gt;gateway&lt;/code&gt;) configuration for Mimir and GEM&lt;/strong&gt;
This change allows for an easier upgrade path from Mimir to GEM, without any downtime. The unified configuration also makes it possible to autoscale the GEM gateway pods and it supports OpenShift Route. The change also deprecates the &lt;code&gt;nginx&lt;/code&gt; section in the configuration. The section will be removed in release &lt;code&gt;7.0.0&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Updated MinIO&lt;/strong&gt;
The MinIO sub-chart was updated from &lt;code&gt;4.x&lt;/code&gt; to &lt;code&gt;5.0.0&lt;/code&gt;, note that this update &lt;strong&gt;inherits a breaking change&lt;/strong&gt; because the MinIO gateway mode was removed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Updated sizing plans&lt;/strong&gt;
We updated our sizing plans to make them reflect better how we recommend running Mimir and GEM in production. Note that this includes a &lt;strong&gt;breaking change&lt;/strong&gt; for users of the &amp;ldquo;small&amp;rdquo; plan, more details can be found in the &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/operations/helm/charts/mimir-distributed/CHANGELOG.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Helm changelog&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Various quality of life improvements&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rollout strategies without downtime&lt;/li&gt;
&lt;li&gt;Read path and compactor configuration refresh, providing better default settings&lt;/li&gt;
&lt;li&gt;OTLP ingestion support in the Nginx configuration&lt;/li&gt;
&lt;li&gt;A default configuration for alertmanager, so the user interface and the sending of alerts from the ruler works out of the box&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Flusher: Added &lt;code&gt;Overrides&lt;/code&gt; as a dependency to prevent panics when starting with &lt;code&gt;-target=flusher&lt;/code&gt;. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3151&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3151&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Query-frontend: properly close gRPC streams to the query-scheduler to stop memory and goroutines leak. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3302&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3302&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ruler: persist evaluation delay configured in the rulegroup. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3392&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3392&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix panics in OTLP ingest path when parse errors occur. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3538&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3538&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-25-release-notes">Grafana Mimir version 2.5 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.5 of Grafana Mimir.&lt;/p>
&lt;p>The highlights that follow include the top features, enhancements, and bugfixes in this release. For the complete list of changes, see the &lt;a href="https://github.com/grafana/mimir/blob/main/CHANGELOG.md" target="_blank" rel="noopener noreferrer">changelog&lt;/a>.&lt;/p></description></item></channel></rss>