<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.11.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.11.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.11.x/release-notes/v2.0/</link><pubDate>Mon, 17 Mar 2025 08:45:08 +0100</pubDate><guid>https://grafana.com/docs/mimir/v2.11.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;figure
        class=&#34;responsive-video p-0 m-0&#34;
        x-data=&#34;{ vimeo_is_up: false, responded: false }&#34;
        x-init=&#34;fetch(`https://vimeo.com/api/oembed.json?url=https://vimeo.com/688679929`)
        .then(response =&gt; {
          responded = true;
          response &amp;&amp; response.status === 200 ? vimeo_is_up = true : vimeo_is_up = false;
        })
        .catch(error =&gt; {
          responded = true;
        })&#34;
    &gt;

      &lt;div class=&#34;minh-428&#34;&gt;
        &lt;template x-if=&#34;vimeo_is_up&#34;&gt;
        &lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
          &lt;iframe src=&#34;https://player.vimeo.com/video/688679929?transparent=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;vimeo video&#34; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;
        &lt;/div&gt;
      &lt;/template&gt;
      &lt;template x-if=&#34;responded &amp;&amp; !vimeo_is_up&#34;&gt;
        &lt;p class=&#34;bg-gray-17 p-1&#34;&gt;There&amp;rsquo;s supposed to be a video here, but for some reason there isn&amp;rsquo;t. Either we entered the id wrong (oops!), or Vimeo is down. If it&amp;rsquo;s the latter, we&amp;rsquo;d expect they&amp;rsquo;ll be back up and running soon. In the meantime, &lt;a href=&#34;/blog/&#34;&gt;check out our blog&lt;/a&gt;!&lt;/p&gt;
      &lt;/template&gt;
      &lt;/div&gt;

      
    &lt;/figure&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;../../references/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;../../references/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;../../manage/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;../../manage/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;../../references/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;../../references/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;../../references/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;../../references/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;../../references/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;../../references/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;../../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;../../references/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;../../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;../../references/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;../../references/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;../../manage/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;../../set-up/migrate/&#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;figure
        class=&#34;responsive-video p-0 m-0&#34;
        x-data=&#34;{ vimeo_is_up: false, responded: false }&#34;
        x-init=&#34;fetch(`https://vimeo.com/api/oembed.json?url=https://vimeo.com/691929138`)
        .then(response =&gt; {
          responded = true;
          response &amp;&amp; response.status === 200 ? vimeo_is_up = true : vimeo_is_up = false;
        })
        .catch(error =&gt; {
          responded = true;
        })&#34;
    &gt;

      &lt;div class=&#34;minh-428&#34;&gt;
        &lt;template x-if=&#34;vimeo_is_up&#34;&gt;
        &lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
          &lt;iframe src=&#34;https://player.vimeo.com/video/691929138?transparent=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;vimeo video&#34; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;
        &lt;/div&gt;
      &lt;/template&gt;
      &lt;template x-if=&#34;responded &amp;&amp; !vimeo_is_up&#34;&gt;
        &lt;p class=&#34;bg-gray-17 p-1&#34;&gt;There&amp;rsquo;s supposed to be a video here, but for some reason there isn&amp;rsquo;t. Either we entered the id wrong (oops!), or Vimeo is down. If it&amp;rsquo;s the latter, we&amp;rsquo;d expect they&amp;rsquo;ll be back up and running soon. In the meantime, &lt;a href=&#34;/blog/&#34;&gt;check out our blog&lt;/a&gt;!&lt;/p&gt;
      &lt;/template&gt;
      &lt;/div&gt;

      
    &lt;/figure&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.11.x/release-notes/v2.1/</link><pubDate>Mon, 17 Mar 2025 08:45:08 +0100</pubDate><guid>https://grafana.com/docs/mimir/v2.11.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;../../references/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;../../references/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;../../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;../../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;../../references/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.11.x/release-notes/v2.2/</link><pubDate>Mon, 17 Mar 2025 08:45:08 +0100</pubDate><guid>https://grafana.com/docs/mimir/v2.11.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;../../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;../../manage/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;../../references/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;../../manage/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;../../manage/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;em&gt;Get started with Mimir using the Helm chart&lt;/em&gt; guide.&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 the &lt;em&gt;Upgrade the Grafana Mimir Helm chart from version 2.1 to 3.0&lt;/em&gt; guide.&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;../../references/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;../../references/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.11.x/release-notes/v2.3/</link><pubDate>Mon, 17 Mar 2025 08:45:08 +0100</pubDate><guid>https://grafana.com/docs/mimir/v2.11.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;../../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;../../manage/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;../../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;../../manage/tools/mimirtool/#backfill&#34;&gt;&lt;code&gt;mimirtool backfill&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;../../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;../../references/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;../../references/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.11.x/release-notes/v2.4/</link><pubDate>Mon, 17 Mar 2025 08:45:08 +0100</pubDate><guid>https://grafana.com/docs/mimir/v2.11.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;../../references/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;../../references/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;../../references/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;../../manage/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;../../references/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;../../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 StatefulSets 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;../../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;../../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.11.x/release-notes/v2.5/</link><pubDate>Thu, 21 Dec 2023 22:21:36 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.11.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><item><title>Grafana Mimir version 2.6 release notes</title><link>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.6/</link><pubDate>Thu, 21 Dec 2023 22:21:36 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.6/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-26-release-notes&#34;&gt;Grafana Mimir version 2.6 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.6 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;Lower memory usage in store-gateway by streaming series results&lt;/strong&gt;
The store-gateway can now stream results back to the querier instead of buffering them. This is expected to greatly reduce peak memory consumption while keeping latency the same. This is still an &lt;strong&gt;experimental feature&lt;/strong&gt; but Grafana Labs is already running it in production and there&amp;rsquo;s no known issue. This feature can be enabled setting the &lt;code&gt;-blocks-storage.bucket-store.batch-series-size&lt;/code&gt; configuration option (if you want to try it out, we recommend you setting to 5000).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved stability in store-gateway by removing mmap usage&lt;/strong&gt;
The store-gateway can now use an alternate code path to read index-headers that does not use memory mapped files. This is expected to improve stability of the store-gateway. This is still an &lt;strong&gt;experimental feature&lt;/strong&gt; but Grafana Labs is already running it in production and there&amp;rsquo;s no known issue. This feature can be enabled setting &lt;code&gt;-blocks-storage.bucket-store.index-header.stream-reader-enabled=true&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;alertmanager-improvements&#34;&gt;Alertmanager improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Webex support&lt;/strong&gt; Alertmanager can now use Webex to send alerts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;tenantID template function&lt;/strong&gt; A new template function &lt;code&gt;tenantID&lt;/code&gt;, returning the ID of the tenant owning the alert, has been added.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;grafanaExploreURL template function&lt;/strong&gt; A new template function &lt;code&gt;grafanaExploreURL&lt;/code&gt;, returning the URL to the Grafana explore page with range query, has been added.&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 Grafana Mimir and Grafana Enterprise Metrics Helm chart is now released independently. See the &lt;a href=&#34;/docs/helm-charts/mimir-distributed/latest/&#34;&gt;corresponding documentation&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h2 id=&#34;important-changes&#34;&gt;Important changes&lt;/h2&gt;
&lt;p&gt;In Grafana Mimir 2.6 we have removed the following previously deprecated or experimental configuration options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.max-concurrent-reject-over-limit&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;blocks_storage.bucket_store.max_concurrent_reject_over_limit&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-query-frontend.align-querier-with-step&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;frontend.align_querier_with_step&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options are deprecated and will be removed in Grafana Mimir 2.8:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-store.max-query-length&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;limits.max_query_length&lt;/code&gt; have been replaced with &lt;code&gt;-querier.max-partial-query-length&lt;/code&gt; and &lt;code&gt;limits.max_partial_query_length&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following experimental options and features are now stable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-query-frontend.max-total-query-length&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;limits.max_total_query_length&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flags &lt;code&gt;-distributor.request-rate-limit&lt;/code&gt; and &lt;code&gt;-distributor.request-burst-limit&lt;/code&gt; and their respective YAML configuration options &lt;code&gt;limits.request_rate_limit&lt;/code&gt; and &lt;code&gt;limits.request_rate_burst&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-ingester.max-global-exemplars-per-user&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;limits.max_global_exemplars_per_user&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-ingester.tsdb-config-update-period&lt;/code&gt; its respective YAML configuration option &lt;code&gt;ingester.tsdb_config_update_period&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The API endpoint &lt;code&gt;/api/v1/query_exemplars&lt;/code&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;Alertmanager: Fix template spurious deletion with relative data dir. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3604&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3604&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Security: Update prometheus/exporter-toolkit for CVE-2022-46146. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3675&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3675&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Security: Update golang.org/x/net for CVE-2022-41717. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3755&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3755&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Debian package: Fix post-install, environment file path and user creation. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3720&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3720&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Memberlist: Fix panic during Mimir startup when Mimir receives gossip message before it&amp;rsquo;s ready. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3746&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3746&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;code&gt;github.com/thanos-io/objstore&lt;/code&gt; to address issue with Multipart PUT on s3-compatible Object Storage. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3802&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3802&lt;/a&gt; &lt;a href=&#34;https://github.com/grafana/mimir/pull/3821&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3821&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Querier: Canceled requests are no longer reported as &amp;ldquo;consistency check&amp;rdquo; failures. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3837&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3837&lt;/a&gt; &lt;a href=&#34;https://github.com/grafana/mimir/pull/3927&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3927&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Distributor: Don&amp;rsquo;t panic when &lt;code&gt;metric_relabel_configs&lt;/code&gt; in overrides contains null element. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3868&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3868&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ingester, Compactor: Fix panic that can occur when compaction fails. &lt;a href=&#34;https://github.com/grafana/mimir/pull/3955&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 3955&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;261&#34;&gt;2.6.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: updated the Go version to 1.20.3 to fix CVE-2023-24538. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4798&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4798&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;262&#34;&gt;2.6.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: updated Go to version 1.20.4 to fix CVE-2023-24539, CVE-2023-24540, CVE-2023-29400. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4903&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4903&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-26-release-notes">Grafana Mimir version 2.6 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.6 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.7 release notes</title><link>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.7/</link><pubDate>Thu, 21 Dec 2023 22:21:36 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.7/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-27-release-notes&#34;&gt;Grafana Mimir version 2.7 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.7 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;strong&gt;Store-gateway streaming enabled by default&lt;/strong&gt; The new default value of &lt;code&gt;5000&lt;/code&gt; for &lt;code&gt;-blocks-storage.bucket-store.batch-series-size&lt;/code&gt; enables store-gateway streaming in the default configuration. This means that series are loaded from object storage in batches rather than buffering them all in memory before returning to the querier. Enabling streaming can reduce memory utilization peaks in the store-gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Store-gateway index header reader no longer uses mmap by default&lt;/strong&gt; Along with streaming enabled in the store-gateway, this change contributes to more efficient memory usage. See the &lt;strong&gt;Important changes&lt;/strong&gt; section for more details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support for &lt;code&gt;keep_firing_for&lt;/code&gt; option to ruler configuration&lt;/strong&gt; This new option determines the amount of time an alert should keep firing while the ruler expression doesn&amp;rsquo;t return results.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;More efficient chunks fetching and caching&lt;/strong&gt; Enable with the new experimental feature flag &lt;code&gt;-blocks-storage.bucket-store.chunks-cache.fine-grained-chunks-caching-enabled=true&lt;/code&gt;. This should reduce CPU, memory utilization, and receive bandwidth of a store-gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experimental query sharding improvements&lt;/strong&gt;:
A new configuration parameter, &lt;code&gt;-query-frontend.query-sharding-target-series-per-shard&lt;/code&gt;, allows query sharding to take into account cardinality of similar requests executed previously when computing the maximum number of shards to use. If you want to try it out, we recommend starting with a value of &lt;code&gt;2500&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experimental support for native histogram ingestion&lt;/strong&gt;:
Native histograms can now be ingested. The new per-tenant limit &lt;code&gt;-ingester.native-histograms-ingestion-enabled&lt;/code&gt; controls whether native histograms are stored or ignored. The support for querying native histograms is not complete yet and it&amp;rsquo;s expected to be available in the next release.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;alertmanager-improvements&#34;&gt;Alertmanager improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;New metrics&lt;/strong&gt; The following upstream metrics are now exposed:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cortex_alertmanager_dispatcher_aggregation_groups&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_alertmanager_dispatcher_alert_processing_duration_seconds&lt;/code&gt;&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;p&gt;The Grafana Mimir and Grafana Enterprise Metrics Helm chart is now released independently. See the &lt;a href=&#34;/docs/helm-charts/mimir-distributed/latest/&#34;&gt;Grafana Mimir Helm chart documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;important-changes&#34;&gt;Important changes&lt;/h2&gt;
&lt;p&gt;In Grafana Mimir 2.7, the default vaules of the following configuration options have changed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.batch-series-size&lt;/code&gt; is now enabled by default with a value of &lt;code&gt;5000&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-ruler.evaluation-delay-duration&lt;/code&gt; has changed from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;1m&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In Grafana Mimir 2.7, the following configuration options are now deprecated:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.chunks-cache.subrange-size&lt;/code&gt; since there&amp;rsquo;s no benefit to changing the default of &lt;code&gt;16000&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.consistency-delay&lt;/code&gt; has been deprecated and will be removed in Mimir 2.9.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-compactor.consistency-delay&lt;/code&gt; has been deprecated and will be removed in Mimir 2.9.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-ingester.ring.readiness-check-ring-health&lt;/code&gt; has been deprecated and will be removed in Mimir 2.9.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In Grafana Mimir 2.7, the following options, metrics, and labels have been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Experimental support for ephemeral storage introduced in Mimir 2.6.0 has been removed.
&lt;ul&gt;
&lt;li&gt;Following options are no longer available:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.ephemeral-tsdb.*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-distributor.ephemeral-series-enabled&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-distributor.ephemeral-series-matchers&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-ingester.max-ephemeral-series-per-user&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-ingester.instance-limits.max-ephemeral-series&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The following metrics have been removed:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_ephemeral_series&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_ephemeral_series_created_total&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_ephemeral_series_removed_total&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_ingested_ephemeral_samples_total&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_ingested_ephemeral_samples_failures_total&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_memory_ephemeral_users&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_queries_ephemeral_total&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_queried_ephemeral_samples&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_queried_ephemeral_series&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Additionally, querying using the &lt;code&gt;{__mimir_storage__=&amp;quot;ephemeral&amp;quot;}&lt;/code&gt; selector no longer works. All label values with the &lt;code&gt;ephemeral-&lt;/code&gt; prefix within the &lt;code&gt;reason&lt;/code&gt; label of the &lt;code&gt;cortex_discarded_samples_total&lt;/code&gt; metric are no longer available.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The store-gateway default index header reader no longer uses mmap and the mmap-based index header reader has been removed. The following flags have been changed:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.index-header.map-populate-enabled&lt;/code&gt; has been removed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.index-header.stream-reader-enabled&lt;/code&gt; has been removed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.index-header.stream-reader-max-idle-file-handles&lt;/code&gt; has been renamed to &lt;code&gt;-blocks-storage.bucket-store.index-header.max-idle-file-handles&lt;/code&gt;, and the corresponding configuration file option has been renamed from &lt;code&gt;stream_reader_max_idle_file_handles&lt;/code&gt; to &lt;code&gt;max_idle_file_handles&lt;/code&gt;&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;Store-gateway: return Canceled rather than Aborted or Internal error when the calling querier cancels a label names or values request, and return Internal if processing the request fails for another reason. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4061&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4061&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Querier: track canceled requests with status code 499 in the metrics instead of 503 or 422. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4099&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4099&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ingester: compact out-of-order data during /ingester/flush or when TSDB is idle. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4180&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4180&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ingester: conversion of global limits max-series-per-user, max-series-per-metric, max-metadata-per-user and max-metadata-per-metric into corresponding local limits now takes into account the number of ingesters in each zone. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4238&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4238&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ingester: track cortex_ingester_memory_series metric consistently with cortex_ingester_memory_series_created_total and cortex_ingester_memory_series_removed_total. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4312&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4312&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Querier: fixed a bug which was incorrectly matching series with regular expression label matchers with begin/end anchors in the middle of the regular expression. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4340&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4340&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Security: updated the Go version to 1.20.3 to fix CVE-2023-24538. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4795&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4795&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Security: updated the Go version to 1.20.4 to fix CVE-2023-24539, CVE-2023-24540, CVE-2023-29400. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4905&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4905&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-27-release-notes">Grafana Mimir version 2.7 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.7 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.8 release notes</title><link>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.8/</link><pubDate>Thu, 21 Dec 2023 22:21:36 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.8/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-28-release-notes&#34;&gt;Grafana Mimir version 2.8 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.8 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;strong&gt;Experimental support for using Redis as cache&lt;/strong&gt; Mimir now can use Redis for caching results, chunks, index and metadata.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experimental support for fetching secret from Vault for TLS configuration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experimental support for querying native histograms&lt;/strong&gt;. This support is not finalized as the related Prometheus API is also experimental, thus the exact behavior might change in future releases.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query-frontend and ruler now use protobuf internal query result payload format by default&lt;/strong&gt; This reduces the CPU and memory utilisation of the querier, query-frontend and ruler, as well as reducing network bandwidth consumed between these components.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query-frontend cached results now contain timestamp&lt;/strong&gt; This allows Mimir to check if cached results are still valid based on current TTL configured for tenant. Results cached by previous Mimir version are used until they expire from cache, which can take up to 7 days. If you need to use per-tenant TTL sooner, please flush results cache manually.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimized regular expression label matchers&lt;/strong&gt; This reduces CPU utilisation in ingesters and store-gateways when running queries containing regular expression label matchers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Store-gateway now use streaming for LabelNames RPC&lt;/strong&gt; This improves memory utilization in store-gateway when calling LabelNames RPC.&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 Grafana Mimir and Grafana Enterprise Metrics Helm chart is now released independently. See the &lt;a href=&#34;/docs/helm-charts/mimir-distributed/latest/&#34;&gt;Grafana Mimir Helm chart documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;important-changes&#34;&gt;Important changes&lt;/h2&gt;
&lt;p&gt;In Grafana Mimir 2.8 we have removed the following previously deprecated or experimental metrics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cortex_bucket_store_series_get_all_duration_seconds&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_bucket_store_series_merge_duration_seconds&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_tsdb_wal_replay_duration_seconds&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options are deprecated and will be removed in Grafana Mimir 2.10:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.tsdb.max-tsdb-opening-concurrency-on-startup&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;tsdb.max_tsdb_opening_concurrency_on_startup&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options that were deprecated in 2.6 are removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-store.max-query-length&lt;/code&gt; and its respective YAML configuration option &lt;code&gt;limits.max_query_length&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options that were deprecated in 2.5 are removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-azure.msi-resource&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following experimental options and features are now stable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The protobuf internal query result payload format, which is now enabled by default&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We changed default value of block storage retention period. The default value for &lt;code&gt;-blocks-storage.tsdb.retention-period&lt;/code&gt; was &lt;code&gt;24h&lt;/code&gt; and now is &lt;code&gt;13h&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Querier: Streaming remote read will now continue to return multiple chunks per frame after the first frame. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4423&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4423&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Query-frontend: don&amp;rsquo;t retry queries which error inside PromQL. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4643&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4643&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Store-gateway &amp;amp; query-frontend: report more consistent statistics for fetched index bytes. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4671&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4671&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-28-release-notes">Grafana Mimir version 2.8 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.8 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.9 release notes</title><link>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.9/</link><pubDate>Thu, 21 Dec 2023 22:21:36 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.9/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-29-release-notes&#34;&gt;Grafana Mimir version 2.9 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.9 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;strong&gt;Reduced store-gateway memory utilization on fetching series from long-term storage&lt;/strong&gt; For queries that include broad label matchers (e.g. &lt;code&gt;datacenter=&amp;quot;dc1&amp;quot;&lt;/code&gt;), Mimir 2.9 will fetch a reduced volume of index data, which leads to a significant reduction in memory allocations in the store-gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced CPU utilisation for some shuffle sharding scenarios&lt;/strong&gt; Mimir queriers will now use significantly less CPU in cases where shuffle sharding is enabled for tenants with a shard size that&amp;rsquo;s large but lower than the total number of ingesters.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced object storage API calls in compactors and rulers&lt;/strong&gt; Mimir 2.9 comes with optimizations that will reduce the amount of times compactors and rulers need to access rules stored in object storage.
&lt;ul&gt;
&lt;li&gt;This release adds experimental support for a ruler storage cache. This cache should reduce the number of &amp;ldquo;list objects&amp;rdquo; API calls issued to the object storage when there are 2&#43; ruler replicas running in a Mimir cluster. The cache can be configured by setting the &lt;code&gt;-ruler-storage.cache.*&lt;/code&gt; CLI flags or their respective YAML config options.&lt;/li&gt;
&lt;li&gt;We also introduced a new feature to trigger a synchronization of tenant&amp;rsquo;s rule groups as soon as changes to the rule configuration are made via API. This synchronization is in addition of the periodic syncing done every &lt;code&gt;-ruler.poll-interval&lt;/code&gt;, which has then been relaxed from every &lt;code&gt;1m&lt;/code&gt; to every &lt;code&gt;10m&lt;/code&gt;. The new behaviour is enabled globally by default but can be disabled with &lt;code&gt;-ruler.sync-rules-on-changes-enabled=false&lt;/code&gt; or tuned at a per-tenant level.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experimental support for streaming chunks from ingester to querier&lt;/strong&gt; This is expected to greatly reduce querier memory consumption when evaluating queries that select a large number of series, because chunks streamed from the querier can now be read into memory as needed.&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 Grafana Mimir and Grafana Enterprise Metrics Helm chart is now released independently. See the &lt;a href=&#34;/docs/helm-charts/mimir-distributed/latest/&#34;&gt;Grafana Mimir Helm chart documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;important-changes&#34;&gt;Important changes&lt;/h2&gt;
&lt;p&gt;In Grafana Mimir 2.9 we have removed the following previously deprecated or experimental metrics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cortex_bucket_store_chunk_pool_requested_bytes_total&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_bucket_store_chunk_pool_returned_bytes_total&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options are deprecated and will be removed in Grafana Mimir 2.11:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-querier.query-ingesters-within&lt;/code&gt;. This configuration is moved to per-tenant overrides.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.bucket-index.enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flags &lt;code&gt;-blocks-storage.bucket-store.chunk-pool-min-bucket-size-bytes&lt;/code&gt;, &lt;code&gt;-blocks-storage.bucket-store.chunk-pool-max-bucket-size-bytes&lt;/code&gt; and &lt;code&gt;-blocks-storage.bucket-store.max-chunk-pool-bytes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flags &lt;code&gt;-querier.iterators&lt;/code&gt; and &lt;code&gt;-query.batch-iterators&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options that were deprecated in 2.7 are removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.chunks-cache.subrange-size&lt;/code&gt;. A fixed value of 16000 is now always used.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.consistency-delay&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-compactor.consistency-delay&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-ingester.ring.readiness-check-ring-health&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following experimental options and features are now stable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-query-frontend.query-sharding-max-regexp-size-bytes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-query-scheduler.max-used-instances&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flags &lt;code&gt;-(alertmanager|blocks|ruler)-storage.storage-prefix&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-compactor.first-level-compaction-wait-period&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flags &lt;code&gt;-usage-stats.enabled&lt;/code&gt; and &lt;code&gt;-usage-stats.installation-mode&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-query-frontend.query-sharding-target-series-per-shard&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration option defaults were changed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The default value for the CLI flag &lt;code&gt;-query-frontend.query-sharding-max-regexp-size-bytes&lt;/code&gt; was changed from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;4096&lt;/code&gt;. As a result, queries with regex matchers exceeding this limit will not be sharded by default.&lt;/li&gt;
&lt;li&gt;The default value for the CLI flag &lt;code&gt;-compactor.partial-block-deletion-delay&lt;/code&gt; was changed from &lt;code&gt;0s&lt;/code&gt; to &lt;code&gt;1d&lt;/code&gt;. As a result, partial blocks resulting from a failed block upload or deletion will be cleaned up automatically.&lt;/li&gt;
&lt;li&gt;The default value for the CLI flag &lt;code&gt;-ruler.poll-interval&lt;/code&gt; was changed from &lt;code&gt;1m&lt;/code&gt; to &lt;code&gt;10m&lt;/code&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;Store-gateway: Detect collisions in the postings cache. &lt;a href=&#34;https://github.com/grafana/mimir/pull/4770&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 4770&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Store-gateway: Fix panic caused by cached LabelValues responses with more than 655360 values. &lt;a href=&#34;https://github.com/grafana/mimir/pull/5021&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 5021&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;294&#34;&gt;2.9.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: updated the Alpine base image version to 3.18.5 to address &lt;a href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2023-5363&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CVE-2023-5363&lt;/a&gt;. &lt;a href=&#34;https://github.com/grafana/mimir/pull/6895&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 6895&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-29-release-notes">Grafana Mimir version 2.9 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.9 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.10 release notes</title><link>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.10/</link><pubDate>Thu, 21 Dec 2023 22:21:36 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.10/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-210-release-notes&#34;&gt;Grafana Mimir version 2.10 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.10 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;strong&gt;Added support for rule filtering&lt;/strong&gt; by passing &lt;code&gt;file&lt;/code&gt;, &lt;code&gt;ruler_group&lt;/code&gt; and &lt;code&gt;rule_name&lt;/code&gt; parameters to the ruler endpoint &lt;code&gt;/api/v1/rules&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added support to only count series that are considered &lt;em&gt;active&lt;/em&gt;&lt;/strong&gt; through the Cardinality API endpoint &lt;code&gt;/api/v1/cardinality/label_values&lt;/code&gt; by passing the &lt;code&gt;count_method&lt;/code&gt; parameter. You can set it to &lt;code&gt;active&lt;/code&gt; to count only series that are considered &lt;em&gt;active&lt;/em&gt; according to the &lt;code&gt;-ingester.active-series-metrics-idle-timeout&lt;/code&gt; flag setting rather than counting all in-memory series.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced the overall memory consumption&lt;/strong&gt; by changing the internal data structure for labels. Expect ingesters to use around 15% less memory with this change, depending on the pattern of labels used, number of tenants, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced the memory usage of the Active Series Tracker&lt;/strong&gt; in the ingester.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added a buffered logging implementation&lt;/strong&gt; that can be enabled through the &lt;code&gt;-log.buffered&lt;/code&gt; CLI flag. This should reduce contention and resource usage under heavy usage patterns.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved the performance of the OTLP ingestion&lt;/strong&gt; and more detailed information was added to the traces in order to make troubleshooting problems easier.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved the performance of series matching in the store-gateway&lt;/strong&gt; by always including the &lt;code&gt;__name__&lt;/code&gt; posting group causing a reduction in the number of object storage API calls.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved the performance of &lt;em&gt;label values with matchers&lt;/em&gt;&lt;/strong&gt; calls when number of matched series is small. If you&amp;rsquo;re using Grafana to query Grafana Mimir, you&amp;rsquo;ll need to be sure your &lt;a href=&#34;/docs/grafana/latest/datasources/prometheus/configure-prometheus-data-source/#performance&#34;&gt;Prometheus data source configuration&lt;/a&gt; has the Prometheus type set to &lt;code&gt;Mimir&lt;/code&gt; and the &lt;code&gt;Version&lt;/code&gt; set correctly in order to benefit from this improvement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support to cache cardinality, label names and label values&lt;/strong&gt; query responses in query frontend. The cache will be used when &lt;code&gt;-query-frontend.cache-results&lt;/code&gt; is enabled, and &lt;code&gt;-query-frontend.results-cache-ttl-for-cardinality-query&lt;/code&gt; or &lt;code&gt;-query-frontend.results-cache-ttl-for-labels-query&lt;/code&gt; is set to a value greater than 0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced wasted effort spent computing results that won&amp;rsquo;t be used&lt;/strong&gt; by having queriers cancel the requests sent to the ingesters in a zone upon receiving first error from that zone.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced object storage use&lt;/strong&gt; by enhancing the compactor to remove the bucket index, markers, and debug files when it detects zero remaining blocks in the bucket index. This cleanup process can be enabled by setting the &lt;code&gt;-compactor.no-blocks-file-cleanup-enabled&lt;/code&gt; option to &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added new debug HTTP endpoints&lt;/strong&gt; &lt;code&gt;/ingester/tenants&lt;/code&gt; and &lt;code&gt;/ingester/tsdb/{tenant}&lt;/code&gt; to the ingester that provide debug information about tenants and their TSDBs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added new metrics for tracking native histograms in active series&lt;/strong&gt;: &lt;code&gt;cortex_ingester_active_native_histogram_series&lt;/code&gt;, &lt;code&gt;cortex_ingester_active_native_histogram_series_custom_tracker&lt;/code&gt;, &lt;code&gt;cortex_ingester_active_native_histogram_buckets&lt;/code&gt;, &lt;code&gt;cortex_ingester_active_native_histogram_buckets_custom_tracker&lt;/code&gt;. The first 2 are the subsets of the existing and unmodified &lt;code&gt;cortex_ingester_active_series&lt;/code&gt; and &lt;code&gt;cortex_ingester_active_series_custom_tracker&lt;/code&gt; respectively, only tracking native histogram series, and the last 2 are the equivalent for tracking the number of buckets in native histogram series.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, the following previously experimental features are now considered stable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Support for a ruler storage cache&lt;/strong&gt;. This cache should reduce the number of &amp;ldquo;list objects&amp;rdquo; API calls issued to the object storage when there are 2&#43; ruler replicas running in a Mimir cluster. The cache can be configured by setting the &lt;code&gt;-ruler-storage.cache.*&lt;/code&gt; CLI flags or their respective YAML config options.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query sharding cardinality estimation.&lt;/strong&gt; This feature allows query sharding to take into account cardinality of similar requests executed previously when computing the maximum number of shards to use. You can enable it through the advanced CLI configuration flag &lt;code&gt;-query-frontend.query-sharding-target-series-per-shard&lt;/code&gt;; we recommend starting with a value of &lt;code&gt;2500&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query expression size limit&lt;/strong&gt;. You can limit the size in bytes of the queries allowed to be processed through the CLI configuration flag &lt;code&gt;-query-frontend.max-query-expression-size-bytes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Peer discovery / tenant sharding for overrides exporters&lt;/strong&gt;. You can enable it through the CLI configuration flag &lt;code&gt;-overrides-exporter.ring.enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Overrides exporter enabled metrics selection&lt;/strong&gt;. You can select which metrics the overrides exporter should export through the CLI configuration flag &lt;code&gt;-overrides-exporter.enabled-metrics&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per-tenant results cache TTL&lt;/strong&gt;. The time-to-live duration for cached query results can be configured using the &lt;code&gt;results_cache_ttl&lt;/code&gt; and &lt;code&gt;results_cache_ttl_for_out_of_order_time_window&lt;/code&gt; parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;experimental-features&#34;&gt;Experimental features&lt;/h2&gt;
&lt;p&gt;Grafana Mimir 2.10 includes new features that are considered as experimental and disabled by default. Please use them with caution and report any issues you encounter:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Support for ingesting exponential histograms in OpenTelemetry format&lt;/strong&gt;. The exponential histograms that are over the native histogram scale limit of 8 are downscaled to allow their ingestion.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Store-gateway index-header loading improvements&lt;/strong&gt;, which include the ability to persist the sparse index-header to disk instead of reconstructing it on every restart (&lt;code&gt;-blocks-storage.bucket-store.index-header-sparse-persistence-enabled&lt;/code&gt;) as well as the ability to persist the list of block IDs that were lazy-loaded while running to eagerly load them upon startup to prevent starting up with no loaded blocks (&lt;code&gt;-blocks-storage.bucket-store.index-header.eager-loading-startup-enabled&lt;/code&gt;) and an option to limit the number of concurrent index-header loads when lazy-loading (&lt;code&gt;-blocks-storage.bucket-store.index-header-lazy-loading-concurrency&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Option to allow queriers to reduce pressure on ingesters&lt;/strong&gt; by initially querying only the minimum set of ingesters required to reach quorum. (&lt;code&gt;-querier.minimize-ingester-requests&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Early TSDB Head compaction in the ingesters&lt;/strong&gt; to reduce in-memory series when a certain threshold is reached. Useful to deal with high series churning rate. (&lt;code&gt;-blocks-storage.tsdb.early-head-compaction-min-in-memory-series&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spread-minimizing token generation algorithm&lt;/strong&gt; for the ingesters. This new method drastically reduces the difference in series pushed to different ingesters. Please note that &lt;a href=&#34;https://github.com/grafana/mimir/issues/4736#issuecomment-1602976040&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;a migration process&lt;/a&gt; is required to switch from previous random generation algorithm, which will be detailed once the feature is declared stable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support for chunks streaming from store-gateways to queriers&lt;/strong&gt; that should reduce the memory usage in the queriers. Can be enabled through the &lt;code&gt;-querier.prefer-streaming-chunks-from-store-gateways&lt;/code&gt; option.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support for circuit-breaking the distributor write requests to the ingesters&lt;/strong&gt;. This can be enabled through the &lt;code&gt;-ingester.client.circuit-breaker.*&lt;/code&gt; configuration options and should serve to let ingesters recover when under high pressure.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support to limit read requests based on CPU/memory utilization&lt;/strong&gt;. This should alleviate pressure on the ingesters after receiving heavy queries and reduce the likelihood of disrupting the write path. (&lt;code&gt;-ingester.read-path-cpu-utilization-limit&lt;/code&gt;, &lt;code&gt;-ingester.read-path-memory-utilization-limit&lt;/code&gt;, &lt;code&gt;-ingester.log-utilization-based-limiter-cpu-samples&lt;/code&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 Grafana Mimir and Grafana Enterprise Metrics Helm chart is now released independently. See the &lt;a href=&#34;/docs/helm-charts/mimir-distributed/latest/&#34;&gt;Grafana Mimir Helm chart documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;important-changes&#34;&gt;Important changes&lt;/h2&gt;
&lt;p&gt;In Grafana Mimir 2.10 we have changed the following behaviors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Query requests are initiated only to ingesters in the &lt;code&gt;ACTIVE&lt;/code&gt; state in the ring. This is not expected to introduce any degradation in terms of query results correctness or high-availability.&lt;/li&gt;
&lt;li&gt;Per-instance limit errors are not logged anymore, to reduce resource usage when ingesters are under pressure. We encourage you to use metrics and alerting to monitor them instead. The following metrics have been added to count the number of requests rejected for hitting per-instance limits:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cortex_distributor_instance_rejected_requests_total&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_instance_rejected_requests_total&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-validation.create-grace-period&lt;/code&gt; is now enforced in the ingester. If you&amp;rsquo;ve configured &lt;code&gt;-validation.create-grace-period&lt;/code&gt;, make sure the configuration is applied to ingesters too.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-validation.create-grace-period&lt;/code&gt; is now enforced for exemplars. The &lt;code&gt;cortex_discarded_exemplars_total{reason=&amp;quot;exemplar_too_far_in_future&amp;quot;,user=&amp;quot;...&amp;quot;}&lt;/code&gt; series is incremented when exemplars are dropped because their timestamp is greater than &amp;ldquo;now &#43; grace_period&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-validation.create-grace-period&lt;/code&gt; is now enforced in the query-frontend even when the configured value is 0. When the value is 0, the query end time range is truncated to the current real-world time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following metrics were removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_shipper_dir_syncs_total&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cortex_ingester_shipper_dir_sync_failures_total&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options are deprecated and will be removed in Grafana Mimir 2.12:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.index-header-lazy-loading-enabled&lt;/code&gt; is deprecated, use the new configuration &lt;code&gt;-blocks-storage.bucket-store.index-header.lazy-loading-enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.index-header-lazy-loading-idle-timeout&lt;/code&gt; is deprecated, use the new configuration &lt;code&gt;-blocks-storage.bucket-store.index-header.lazy-loading-idle-timeout&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.index-header-lazy-loading-concurrency&lt;/code&gt; is deprecated, use the new configuration &lt;code&gt;-blocks-storage.bucket-store.index-header.lazy-loading-concurrency&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options that were deprecated in Grafana Mimir 2.8 are removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;blocks-storage.tsdb.max-tsdb-opening-concurrency-on-startup&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following experimental configuration options were renamed or removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-querier.prefer-streaming-chunks&lt;/code&gt; was renamed to &lt;code&gt;-querier.prefer-streaming-chunks-from-ingesters&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.chunks-cache.fine-grained-chunks-caching-enabled&lt;/code&gt; was removed.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.fine-grained-chunks-caching-ranges-per-series&lt;/code&gt; was removed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following experimental options are now stable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-shutdown-delay&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-ingester.ring.excluded-zones&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration option defaults were changed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The default value for the CLI flag &lt;code&gt;-querier.streaming-chunks-per-ingester-buffer-size&lt;/code&gt; was changed from &lt;code&gt;512&lt;/code&gt; to &lt;code&gt;256&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The default value for gRPC clients connect timeout was set to &lt;code&gt;5s&lt;/code&gt; (default inherited from gRPC client was &lt;code&gt;20s&lt;/code&gt;) with a default max backoff delay of &lt;code&gt;5s&lt;/code&gt; (default inherited from gRPC client was &lt;code&gt;120s&lt;/code&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;Ruler: fixed graceful shutdown for rule evaluations.&lt;/li&gt;
&lt;li&gt;Ingester: fixed ingesters getting stuck when previous state is &lt;code&gt;LEAVING&lt;/code&gt; and the number of tokens has changed upon restarting.&lt;/li&gt;
&lt;li&gt;Querier: fixed &lt;code&gt;timestamp()&lt;/code&gt; function fail with &lt;code&gt;execution: attempted to read series at index 0 from stream, but the stream has already been exhausted&lt;/code&gt; if the experimental feature to stream chunks from ingesters to queriers is enabled.&lt;/li&gt;
&lt;li&gt;Memberlist: brought back &lt;code&gt;memberlist_client_kv_store_count&lt;/code&gt; metric that used to exist in Cortex, but got lost during &lt;a href=&#34;https://github.com/grafana/dskit/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;grafana/dskit&lt;/a&gt; updates before Mimir 2.0.&lt;/li&gt;
&lt;li&gt;Store-gateway: fixed an issue where stopping a store-gateway could cause all store-gateways to unload all blocks.&lt;/li&gt;
&lt;li&gt;Ingester: prevented setting &amp;ldquo;last update time&amp;rdquo; of TSDB into the future when opening TSDB. This could prevent detecting of idle TSDB for a long time, if sample in distant future was ingested.&lt;/li&gt;
&lt;li&gt;General: changed ballast to allocate smaller blocks to avoid problem when entire ballast was kept in memory working set.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2105&#34;&gt;2.10.5&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: updated the Alpine base image version to 3.18.5 to address &lt;a href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2023-5363&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CVE-2023-5363&lt;/a&gt;. &lt;a href=&#34;https://github.com/grafana/mimir/pull/6897&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 6897&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-210-release-notes">Grafana Mimir version 2.10 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.10 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.11 release notes</title><link>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.11/</link><pubDate>Thu, 21 Dec 2023 22:21:36 +0000</pubDate><guid>https://grafana.com/docs/mimir/v2.11.x/release-notes/v2.11/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-mimir-version-211-release-notes&#34;&gt;Grafana Mimir version 2.11 release notes&lt;/h1&gt;
&lt;p&gt;Grafana Labs is excited to announce version 2.11 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;strong&gt;Sampled logging of errors in the ingester.&lt;/strong&gt; A high-traffic Mimir cluster can occasionally become bogged down logging high volumes of repeated errors. You can now reduce the amount of errors outputted to logs by setting a sample rate via the &lt;code&gt;-ingester.error-sample-rate&lt;/code&gt; CLI flag.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add total request size instance limit for ingesters.&lt;/strong&gt; This limit protects the ingesters against requests that together may cause an OOM. Enable this feature by setting the &lt;code&gt;-ingester.instance-limits.max-inflight-push-requests-bytes&lt;/code&gt; CLI flag in combination with the &lt;code&gt;-ingester.limit-inflight-requests-using-grpc-method-limiter&lt;/code&gt; CLI flag.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduce the resolution of incoming native histograms samples&lt;/strong&gt; if the incoming sample has too many buckets compared to &lt;code&gt;-validation.max-native-histogram-buckets&lt;/code&gt;. This is enabled by default but can be turned off by setting the &lt;code&gt;-validation.reduce-native-histogram-over-max-buckets&lt;/code&gt; CLI flag to &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved query-scheduler performance under load.&lt;/strong&gt; This is particularly apparent for clusters with large numbers of queriers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ingester to querier chunks streaming&lt;/strong&gt; reduces the memory utilization of queriers and reduces the likelihood of OOMs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ingester query request minimization&lt;/strong&gt; reduces the number of query requests to ingesters, improving performance and resource utilization for both ingesters and queriers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The &lt;code&gt;markblocks&lt;/code&gt; tool&lt;/strong&gt; is released in compiled form together with the rest of Mimir. It is used to mark blocks for deletion or as &amp;ldquo;non-compactable&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;experimental-features&#34;&gt;Experimental features&lt;/h2&gt;
&lt;p&gt;Grafana Mimir 2.11 includes new features that are considered experimental and disabled by default. Please use them with caution and report any issue you encounter:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Block specified queries on a per-tenant basis.&lt;/strong&gt; This is configured via the &lt;code&gt;blocked_queries&lt;/code&gt; limit. See &lt;a href=&#34;https://github.com/grafana/mimir/blob/main/docs/sources/mimir/configure/configure-blocked-queries.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;the docs&lt;/a&gt; for more information.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Store metadata when ingesting metrics via OTLP.&lt;/strong&gt; This makes metric description and type available when ingesting metrics via OTLP. You can enable this feature by setting the CLI flag &lt;code&gt;-distributor.enable-otlp-metadata-storage&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reject gRPC push requests that the ingester/distributor is unable to accept before reading them into memory.&lt;/strong&gt; You can enable this feature by using the &lt;code&gt;-ingester.limit-inflight-requests-using-grpc-method-limiter&lt;/code&gt; and/or the &lt;code&gt;-distributor.limit-inflight-requests-using-grpc-method-limiter&lt;/code&gt; CLI flags for the ingester and/or the distributor, respectively.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customize the memcached client write and read buffer size.&lt;/strong&gt; The buffer allocated for each memcached connection can be configured via the following CLI flags:
&lt;ul&gt;
&lt;li&gt;For the blocks storage:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.chunks-cache.memcached.read-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.chunks-cache.memcached.write-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.index-cache.memcached.read-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.index-cache.memcached.write-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.metadata-cache.memcached.read-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-blocks-storage.bucket-store.metadata-cache.memcached.write-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;For the query frontend:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-query-frontend.results-cache.memcached.read-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-query-frontend.results-cache.memcached.write-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;For the ruler storage:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-ruler-storage.cache.memcached.read-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-ruler-storage.cache.memcached.write-buffer-size-bytes&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configure the number of long-living workers used to process gRPC requests.&lt;/strong&gt; This can decrease CPU usage by reducing the number of stack allocations. Configure this feature by using the &lt;code&gt;-server.grpc.num-workers&lt;/code&gt; CLI flag.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enforce a limit in bytes on the &lt;code&gt;PostingsForMatchers&lt;/code&gt; cache used by ingesters.&lt;/strong&gt; This limit can be configured via the &lt;code&gt;-blocks-storage.tsdb.head-postings-for-matchers-cache-max-bytes&lt;/code&gt; and &lt;code&gt;-blocks-storage.tsdb.block-postings-for-matchers-cache-max-bytes&lt;/code&gt; CLI flags.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pre-allocate the pool of workers in the distributor that are used to send push requests to ingesters.&lt;/strong&gt; This can decrease CPU usage by reducing the number of stack allocations. You can enable this feature by using the &lt;code&gt;-distributor.reusable-ingester-push-worker&lt;/code&gt; flag.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Include a &lt;code&gt;Retry-After&lt;/code&gt; header in recoverable error responses from the distributor.&lt;/strong&gt; This can protect your Mimir cluster from clients including Prometheus that default to retrying very quickly. Enable this feature by setting the &lt;code&gt;-distributor.retry-after-header.enabled&lt;/code&gt; CLI flag.&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 Grafana Mimir and Grafana Enterprise Metrics Helm chart is now released independently. See the &lt;a href=&#34;/docs/helm-charts/mimir-distributed/latest/&#34;&gt;Grafana Mimir Helm chart documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;important-changes&#34;&gt;Important changes&lt;/h2&gt;
&lt;p&gt;In Grafana Mimir 2.11 the following behavior has changed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The utilization-based read path limiter now operates on Go heap size instead of RSS from the Linux proc file system.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options had been previously deprecated and are removed in Grafana Mimir 2.11:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-querier.iterators&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-query.batch-iterators&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.bucket-index.enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.chunk-pool-min-bucket-size-bytes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.chunk-pool-max-bucket-size-bytes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.max-chunk-pool-bytes&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration options are deprecated and will be removed in Grafana Mimir 2.13:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-log.buffered&lt;/code&gt;; this is now the default behavior.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following metrics are removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cortex_query_frontend_workers_enqueued_requests_total&lt;/code&gt;; use &lt;code&gt;cortex_query_frontend_enqueue_duration_seconds_count&lt;/code&gt; instead.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following configuration option defaults were changed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CLI flag &lt;code&gt;-blocks-storage.bucket-store.index-header.sparse-persistence-enabled&lt;/code&gt; now defaults to true.&lt;/li&gt;
&lt;li&gt;The default value for the CLI flag &lt;code&gt;-blocks-storage.bucket-store.index-header.lazy-loading-concurrency&lt;/code&gt; was changed from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;4&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The default value for the CLI flag &lt;code&gt;-blocks-storage.tsdb.series-hash-cache-max-size-bytes&lt;/code&gt; was changed from &lt;code&gt;1GB&lt;/code&gt; to &lt;code&gt;350MB&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The default value for the CLI flag &lt;code&gt;-blocks-storage.tsdb.early-head-compaction-min-estimated-series-reduction-percentage&lt;/code&gt; was changed from &lt;code&gt;10&lt;/code&gt; to &lt;code&gt;15&lt;/code&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;Ingester: Respect context cancelation during query execution. &lt;a href=&#34;https://github.com/grafana/mimir/pull/6085&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 6085&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Distributor: Return 529 when ingestion rate limit is hit and the &lt;code&gt;distributor.service_overload_status_code_on_rate_limit_enabled&lt;/code&gt; flag is active. &lt;a href=&#34;https://github.com/grafana/mimir/pull/6549&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 6549&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Query-scheduler: Prevent accumulation of stale querier connections. &lt;a href=&#34;https://github.com/grafana/mimir/pull/6100&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 6100&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Packaging: Fix preremove script preventing upgrades on RHEL based OS. &lt;a href=&#34;https://github.com/grafana/mimir/pull/6067&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 6067&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ingester: Fixed possible series matcher corruption leading to wrong series being included in query results. &lt;a href=&#34;https://github.com/grafana/mimir/pull/6884&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 6884&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mimirtool: Fixed missing .metricsUsed field in the output of analyze rule-file. &lt;a href=&#34;https://github.com/grafana/mimir/pull/6953&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 6953&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-mimir-version-211-release-notes">Grafana Mimir version 2.11 release notes&lt;/h1>
&lt;p>Grafana Labs is excited to announce version 2.11 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>