<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Version 1 release notes on Grafana Labs</title><link>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/</link><description>Recent content in Version 1 release notes on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/tempo/v2.10.x/release-notes/version-1/index.xml" rel="self" type="application/rss+xml"/><item><title>Version 1.5 release notes</title><link>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/v1-5/</link><pubDate>Thu, 09 Apr 2026 14:59:14 +0000</pubDate><guid>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/v1-5/</guid><content><![CDATA[&lt;h1 id=&#34;version-15-release-notes&#34;&gt;Version 1.5 release notes&lt;/h1&gt;
&lt;p&gt;The Tempo team is pleased to announce the release of Tempo 1.5.&lt;/p&gt;
&lt;p&gt;With this release, Tempo adds experimental support for a new trace storage format based on &lt;a href=&#34;https://parquet.apache.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Apache Parquet&lt;/a&gt;, anonymous usage reporting to help the Tempo team understand how Tempo is used, and enhancements to the metrics-generator.&lt;/p&gt;
&lt;p&gt;We encourage users to upgrade to &lt;a href=&#34;/docs/grafana/latest/whatsnew/whats-new-in-v9-1/&#34;&gt;Grafana 9.1&lt;/a&gt; to take advantage of new Tempo-powered capabilities,
such as the &lt;a href=&#34;../../../metrics-from-traces/service_graphs/service-graph-view/&#34;&gt;service graph view&lt;/a&gt; which visualizes span metrics (traces data for rates, error rates, and durations (RED)) and service graphs.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: For a complete list of changes and enhancements, refer to the &lt;a href=&#34;https://github.com/grafana/tempo/releases&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Tempo 1.5 changelog&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;features-and-enhancements&#34;&gt;Features and enhancements&lt;/h2&gt;
&lt;p&gt;Version 1.5 contains the following features and enhancements.&lt;/p&gt;
&lt;h3 id=&#34;apache-parquet-block-format-support&#34;&gt;Apache Parquet block format support&lt;/h3&gt;
&lt;p&gt;Tempo now supports a columnar block format for trace storage based on &lt;a href=&#34;https://parquet.apache.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Apache Parquet&lt;/a&gt;.
We&amp;rsquo;re excited about this new format because it will enable increased speed and efficiency for Tempo search. It also allows users to leverage the large ecosystem of existing Parquet tools and libraries to process and transform their trace data.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re releasing the Parquet block format as experimental in Tempo 1.5, with plans to move it to stable in a future release once we&amp;rsquo;ve had more opportunity to test it.&lt;/p&gt;
&lt;p&gt;The new Parquet block format can be used as a drop-in replacement for Tempo&amp;rsquo;s existing block format.
No data conversion or upgrade process is necessary.
As soon as the Parquet format is enabled, Tempo starts writing data in that format, leaving existing data as-is.
For more information, refer to the &lt;a href=&#34;../../../configuration/parquet/&#34;&gt;Parquet documentation&lt;/a&gt;.
Please note, however, that enabling the Parquet block format means Tempo will require more CPU and memory resources than it previously did.&lt;/p&gt;
&lt;p&gt;To use Parquet, set the block format option to &lt;code&gt;vParquet&lt;/code&gt; in the configuration file.
Refer to the &lt;a href=&#34;../../../configuration/parquet/&#34;&gt;Parquet documentation&lt;/a&gt; and the &lt;a href=&#34;../../../configuration/#storage&#34;&gt;Configuration documentation&lt;/a&gt;.&lt;/p&gt;

&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;# block format version. options: v2, vParquet
[version: &amp;lt;string&amp;gt; | default = v2]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For more information about the Parquet implementation, refer to the &lt;a href=&#34;https://github.com/mdisibio/tempo/blob/design-proposal-parquet/docs/design-proposals/2022-04%20Parquet.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Parquet design document&lt;/a&gt; and &lt;a href=&#34;https://github.com/grafana/tempo/issues/1480&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Issue 1480&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;metrics-generator-enhancements&#34;&gt;Metrics-generator enhancements&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&#34;../../../metrics-from-traces/metrics-generator/&#34;&gt;metrics-generator&lt;/a&gt; now includes databases and requests across messaging systems in service graph metrics.
The OpenTelemetry semantic conventions are used to detect when a span is involved in one of these systems. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1576&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1576&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In addition, metrics-generator supports per-tenant processor configuration. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1434&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1434&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;anonymous-usage-reporting&#34;&gt;Anonymous usage reporting&lt;/h3&gt;
&lt;p&gt;By default, Tempo reports anonymous usage data about itself to Grafana Labs. This data is used to understand which features are commonly enabled, as well as which deployment modes, replication factors, and compression levels are most popular, etc.&lt;/p&gt;
&lt;p&gt;By providing information on how people use Tempo, usage reporting helps the Tempo team decide where to focus their development and documentation efforts. No private information is collected, and all reports are completely anonymous.&lt;/p&gt;
&lt;p&gt;Reporting is controlled by the &lt;code&gt;usage_report&lt;/code&gt; configuration option and can be disabled. For instructions, refer to &lt;a href=&#34;../../../configuration/#usage-report&#34;&gt;the Configuration documentation&lt;/a&gt;. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1481&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1465&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;upgrade-considerations&#34;&gt;Upgrade considerations&lt;/h2&gt;
&lt;p&gt;When upgrading to Tempo v1.5, be aware of these breaking changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1478&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1478&lt;/a&gt; To build advanced visualization features into Grafana, we have decided to change our spanmetric names to match OpenTelemetry (OTel) conventions. Any functionality added to Grafana will work whether you use Tempo, Grafana Agent, or the OTel Collector to generate metrics.
The old histogram metric name in Tempo 1.4.x:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&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&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;traces_spanmetrics_duration_seconds_{sum,count,bucket}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;has been replaced with this new name in Tempo 1.5:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&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&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;traces_spanmetrics_latency_{sum,count,bucket}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Additionally, the default label &lt;code&gt;span_status&lt;/code&gt; has been renamed to &lt;code&gt;status_code&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1556&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1556&lt;/a&gt; Jsonnet users will need to specify ephemeral storage requests and limits for the metrics generator.&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&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&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt; _config&amp;#43;:: {
   metrics_generator&amp;#43;: {
     ephemeral_storage_request_size: &amp;#39;10Gi&amp;#39;,
     ephemeral_storage_limit_size: &amp;#39;11Gi&amp;#39;,
   },
 }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1481&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1481&lt;/a&gt; As a result of the anonymous usage reporting feature, distributors and metrics-generators now require the same level of access to object storage as compactors and ingesters. Users who disable anonymous usage reporting are exempt from this requirement.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1558&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1558&lt;/a&gt; Deprecated metrics &lt;code&gt;tempodb_(gcs|s3|azure)_request_duration_seconds&lt;/code&gt; have been removed in favor of &lt;code&gt;tempodb_backend_request_duration_seconds&lt;/code&gt;. These metrics have been deprecated since v1.1.&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;150-bug-fixes&#34;&gt;1.5.0 bug fixes&lt;/h3&gt;
&lt;p&gt;Version 1.5.0 includes the following fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1441&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1441&lt;/a&gt; Fixed nil pointer panic when the trace by id path errors.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1472&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1472&lt;/a&gt; Updated Tempo microservices Helm values example which missed the &lt;code&gt;enabled&lt;/code&gt; key for thriftHttp.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1468&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1468&lt;/a&gt; Fixed race condition in forwarder overrides loop.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1538&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1538&lt;/a&gt; Fixed v2 backend check on span name to be substring.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1548&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1548&lt;/a&gt; Fixed wal check on span name to be substring.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/issues/1258&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Issue 1258&lt;/a&gt; Prevented the ingester panic &amp;ldquo;cannot grow buffer&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1554&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1554&lt;/a&gt; metrics-generator: do not remove &lt;code&gt;x-scope-orgid header&lt;/code&gt; in single tenant modus.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1589&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1589&lt;/a&gt; Fixed an issue where backend does not support &lt;code&gt;root.name&lt;/code&gt; and &lt;code&gt;root.service.name&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/issues/1603&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Issue 1603&lt;/a&gt; Fixed the ingester to continue starting up after block replay error.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="version-15-release-notes">Version 1.5 release notes&lt;/h1>
&lt;p>The Tempo team is pleased to announce the release of Tempo 1.5.&lt;/p>
&lt;p>With this release, Tempo adds experimental support for a new trace storage format based on &lt;a href="https://parquet.apache.org/" target="_blank" rel="noopener noreferrer">Apache Parquet&lt;/a>, anonymous usage reporting to help the Tempo team understand how Tempo is used, and enhancements to the metrics-generator.&lt;/p></description></item><item><title>Version 1.4 release notes</title><link>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/v1-4/</link><pubDate>Thu, 09 Apr 2026 14:59:14 +0000</pubDate><guid>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/v1-4/</guid><content><![CDATA[&lt;h1 id=&#34;version-14-release-notes&#34;&gt;Version 1.4 release notes&lt;/h1&gt;
&lt;p&gt;The Tempo team is excited to announce the release of Tempo 1.4.&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;Server-side metrics&lt;/strong&gt; As the headline feature for Tempo 1.4, &lt;a href=&#34;../../../metrics-from-traces/metrics-generator/&#34;&gt;Server-side metrics&lt;/a&gt;
generate metrics from your traces, for advanced insight into your application&amp;rsquo;s performance over time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Start and end time&lt;/strong&gt; &lt;code&gt;start&lt;/code&gt; and &lt;code&gt;end&lt;/code&gt; parameters were added to the &lt;code&gt;/api/traces/{traceID}&lt;/code&gt;
endpoint. This allows more efficient searches by only querying a subset of blocks
on the backend. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1388&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1388&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Protect instances from very large traces&lt;/strong&gt; Additional protection against large
traces has been added. These features all key off the existing &lt;code&gt;max_bytes_per_trace&lt;/code&gt;
configuration parameter. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1317&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1317&lt;/a&gt; and &lt;a href=&#34;https://github.com/grafana/tempo/pull/1318&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1318&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Hedge everything&lt;/strong&gt; Improve backend search throughput Tempo using our favorite solution: hedging.&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&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&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;querier:
  search:
    external_hedge_requests_at: 5s
    external_hedge_requests_up_to: 3&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;upgrade-considerations&#34;&gt;Upgrade considerations&lt;/h2&gt;
&lt;p&gt;When upgrading to Tempo v1.4, be aware of these breaking changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1227&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1227&lt;/a&gt; A new ingestion endpoint was added to support faster search and proper start/end times on blocks. Roll out all ingesters before rolling the distributors to prevent downtime. Also, during this period, the ingesters will use considerably more resources and should be scaled up, or incoming traffic should be heavily throttled. Once all distributors and ingesters have rolled, performance will return to normal. Internally, we have observed ~1.5x CPU load on the ingesters during the rollout.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1350&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1350&lt;/a&gt; A few querier options were moved while adding hedging to external endpoints.&lt;/p&gt;

&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;querier:
search_query_timeout: 30s
search_external_endpoints: []
search_prefer_self: 2&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;was relocated to&lt;/p&gt;

&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;querier:
search:
  query_timeout: 30s
  prefer_self: 2
  external_endpoints: []&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1297&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1297&lt;/a&gt; Updated vulture testing of full backend search, and as a result, dropped the CLI parameter &lt;code&gt;tempo-search-retention-duration&lt;/code&gt;.&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;140-bug-fixes&#34;&gt;1.4.0 bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1390&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1390&lt;/a&gt; Correct the handling of Azure &amp;ldquo;Blob Not Found&amp;rdquo; errors.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1314&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1314&lt;/a&gt; Correct block start and end times to be based on actual trace start/end times, instead of on trace ingestion times.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1387&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1387&lt;/a&gt; Eliminate a data race and ingester crash during search by trace ID.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1389&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1389&lt;/a&gt; Eliminate spurious &amp;ldquo;failed to mark block compacted during retention&amp;rdquo; errors.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1379&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1379&lt;/a&gt; Eliminate an error with the message &amp;ldquo;Writer is closed&amp;rdquo; by resetting the compression writer correctly on the error path.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;141-bug-fixes&#34;&gt;1.4.1 bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1417&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1417&lt;/a&gt; Metrics-generator: don&amp;rsquo;t inject X-Scope-OrgID header for single-tenant setups.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1420&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1420&lt;/a&gt; Compactor: populate &lt;code&gt;compaction_objects_combined_total&lt;/code&gt; and &lt;code&gt;tempo_discarded_spans_total{reason=&amp;quot;trace_too_large_to_compact&amp;quot;}&lt;/code&gt; metrics again.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1422&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1422&lt;/a&gt; Distributor: prevent panics when concurrently calling &lt;code&gt;shutdown&lt;/code&gt; to forwarder&amp;rsquo;s queueManager.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="version-14-release-notes">Version 1.4 release notes&lt;/h1>
&lt;p>The Tempo team is excited to announce the release of Tempo 1.4.&lt;/p>
&lt;h2 id="features-and-enhancements">Features and enhancements&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Server-side metrics&lt;/strong> As the headline feature for Tempo 1.4, &lt;a href="../../../metrics-from-traces/metrics-generator/">Server-side metrics&lt;/a>
generate metrics from your traces, for advanced insight into your application&amp;rsquo;s performance over time.&lt;/p></description></item><item><title>Version 1.3 release notes</title><link>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/v1-3/</link><pubDate>Thu, 09 Apr 2026 14:59:14 +0000</pubDate><guid>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/v1-3/</guid><content><![CDATA[&lt;h1 id=&#34;version-13-release-notes&#34;&gt;Version 1.3 release notes&lt;/h1&gt;
&lt;p&gt;The Tempo team is excited to announce the release of Tempo 1.3.&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;Search&lt;/strong&gt; In addition to the existing search of recent traces,
support has been added to search traces in the backend store.
Refer to &lt;a href=&#34;../../../introduction/tempo-in-grafana/&#34;&gt;Tempo search&lt;/a&gt;
for details.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improve ring functionality&lt;/strong&gt; The compactor ring automatically forgets about unhealthy ring members.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Protect instances from very large traces&lt;/strong&gt; The ingester keeps track of
traces that exceed the configured maximum size,
extending protection from very large traces to after the traces are flushed
to disk.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Expose additional metrics&lt;/strong&gt; These new metrics are exposed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tempo_limits_overrides&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tempo_limits_defaults&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tempo_ingester_live_traces&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tempodb_compaction_outstanding_blocks&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Azure credentials may be set in the environment&lt;/strong&gt; Instead of setting values
in the configuration,
environment variables may specify &lt;code&gt;AZURE_STORAGE_ACCOUNT&lt;/code&gt; and &lt;code&gt;AZURE_STORAGE_KEY&lt;/code&gt;.&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;When upgrading to Tempo v1.3, be aware of these breaking changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1142&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1142&lt;/a&gt;: The OpenTelemetry Collector&amp;rsquo;s GRPC receiver&amp;rsquo;s default port changed from 55680 to 4317.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1174&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1174&lt;/a&gt;: Configuration option
&lt;code&gt;querier.search_max_result_limit&lt;/code&gt; is renamed to &lt;code&gt;query_frontend.search.max_result_limit&lt;/code&gt;.
Configuration option &lt;code&gt;querier.search_default_result_limit&lt;/code&gt; is renamed to &lt;code&gt;query_frontend.search.default_result_limit&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1173&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1173&lt;/a&gt;: Removed the
deprecated &lt;code&gt;Push&lt;/code&gt; method from &lt;code&gt;tempopb.Pusher&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;known-issues&#34;&gt;Known issues&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Grafana does not yet support the &lt;code&gt;tempoBackendSearch&lt;/code&gt; feature toggle
to enable searches in the backend datastore.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;h3 id=&#34;131-bug-fixes&#34;&gt;1.3.1 bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1260&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1260&lt;/a&gt; &lt;strong&gt;mapno&lt;/strong&gt;: Fixed a panic that occurred when using etcd as the ring&amp;rsquo;s backend storage.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;132-bug-fixes&#34;&gt;1.3.2 bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1295&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1295&lt;/a&gt; &lt;strong&gt;joe-elliott&lt;/strong&gt;: Fixed an issue which corrupted the start/end time ranges of Tempo searches that targeted ingesters.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="version-13-release-notes">Version 1.3 release notes&lt;/h1>
&lt;p>The Tempo team is excited to announce the release of Tempo 1.3.&lt;/p>
&lt;h2 id="features-and-enhancements">Features and enhancements&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Search&lt;/strong> In addition to the existing search of recent traces,
support has been added to search traces in the backend store.
Refer to &lt;a href="../../../introduction/tempo-in-grafana/">Tempo search&lt;/a>
for details.&lt;/p></description></item><item><title>Version 1.2 release notes</title><link>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/v1-2/</link><pubDate>Thu, 09 Apr 2026 14:59:14 +0000</pubDate><guid>https://grafana.com/docs/tempo/v2.10.x/release-notes/version-1/v1-2/</guid><content><![CDATA[&lt;h1 id=&#34;version-12-release-notes&#34;&gt;Version 1.2 release notes&lt;/h1&gt;
&lt;p&gt;The Tempo team is excited to announce the release of Tempo 1.2. This release introduces Tempo search.&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;Recent traces search&lt;/strong&gt; The headline feature of Tempo 1.2 is the ability to search for data that is still in the ingester component. This experimental feature must be enabled using feature flags in both Grafana and Tempo. Refer to &lt;a href=&#34;/docs/tempo/v1.2.x/getting-started/tempo-in-grafana/#tempo-search&#34;&gt;Tempo search&lt;/a&gt; for details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scalable monolithic deployment mode (formerly scalable single binary deployment mode)&lt;/strong&gt; The new &lt;a href=&#34;/docs/tempo/v1.2.x/operations/deployment/#scalable-monolithic&#34;&gt;scalable monolithic&lt;/a&gt; deployment mode is operationally simpler, although less robust than a fully distributed deployment. We consider it a balanced operational mode that some may find attractive.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Massive performance improvements&lt;/strong&gt; were achieved by more efficiently batching trace data being ingested. In terms of CPU needed, Tempo v1.2 is twice as efficient as Tempo v1.1. Refer to &lt;a href=&#34;https://github.com/grafana/tempo/pull/1075&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1075&lt;/a&gt; for details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API improvements&lt;/strong&gt; Some informational endpoints were consolidated within the &lt;a href=&#34;../../../api_docs/#status&#34;&gt;&lt;code&gt;status&lt;/code&gt; endpoint&lt;/a&gt;. New endpoints were also added.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;upgrade-considerations&#34;&gt;Upgrade considerations&lt;/h2&gt;
&lt;p&gt;When upgrading to Tempo v1.2, be aware of these changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for v0 and v1 blocks were dropped as announced with Tempo v1.1. Refer to the &lt;a href=&#34;https://github.com/grafana/tempo/releases/tag/v1.1.0&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Tempo v1.1 changelog&lt;/a&gt; for details.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/tempo/pull/1007&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 1007&lt;/a&gt; altered the Querier API. When upgrading components within a deployment, there will be a read outage until all queriers and query frontends have rolled to the upgraded version.&lt;/li&gt;
&lt;li&gt;API improvements consolidated informational endpoints within the &lt;a href=&#34;/docs/tempo/v1.2.x/api_docs/#status&#34;&gt;&lt;code&gt;status&lt;/code&gt; endpoint&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Metric &lt;code&gt;ingester_bytes_metric_total&lt;/code&gt; is renamed &lt;code&gt;ingester_bytes_received_total&lt;/code&gt; by &lt;a href=&#34;https://github.com/grafana/tempo/pull/979&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 979&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Metric &lt;code&gt;cortex_runtime_config_last_reload_successful&lt;/code&gt; is renamed &lt;code&gt;tempo_runtime_config_last_reload_successful&lt;/code&gt; by &lt;a href=&#34;https://github.com/grafana/tempo/pull/945&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 945&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;tempo-cli&lt;/code&gt; flag &lt;code&gt;--storage.trace.maintenance-cycle&lt;/code&gt; is renamed &lt;code&gt;-storage.trace.blocklist_poll&lt;/code&gt; by &lt;a href=&#34;https://github.com/grafana/tempo/pull/897&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR 897&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bug-fixes&#34;&gt;Bug fixes&lt;/h2&gt;
&lt;h3 id=&#34;121-bug-fixes&#34;&gt;1.2.1 bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Honor the default values of configuration parameters &lt;code&gt;max_bytes_per_trace&lt;/code&gt; and &lt;code&gt;max_search_bytes_per_trace&lt;/code&gt;. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1109&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR #1109&lt;/a&gt; (@BitProcessor)&lt;/li&gt;
&lt;li&gt;Reclassify the writing of empty traces to be a warning instead of an error. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1113&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR #1113&lt;/a&gt; (@mdisibio)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;120-bug-fixes&#34;&gt;1.2.0 bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed errors with magic numbers and other block mishandling when an ingester forcefully shuts down. &lt;a href=&#34;https://github.com/grafana/tempo/issues/937&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Issue #937&lt;/a&gt; (@mdisibio)&lt;/li&gt;
&lt;li&gt;Fixed a memory leak in the compactor component. &lt;a href=&#34;https://github.com/grafana/tempo/pull/806&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR #806&lt;/a&gt; (@mdisibio)&lt;/li&gt;
&lt;li&gt;Set a span&amp;rsquo;s tag &lt;code&gt;span.kind&lt;/code&gt; to &lt;code&gt;client&lt;/code&gt; in query-frontend to allow query frontend spans to be paired with querier server spans. &lt;a href=&#34;https://github.com/grafana/tempo/pull/975&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR #975&lt;/a&gt; (@mapno)&lt;/li&gt;
&lt;li&gt;Metric &lt;code&gt;tempodb_backend_hedged_roundtrips_total&lt;/code&gt; now correctly counts hedged roundtrips. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1079&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR #1079&lt;/a&gt; (@joe-elliott)&lt;/li&gt;
&lt;li&gt;Updated the &lt;code&gt;go-kit&lt;/code&gt; logger package to remove spurious debug logs. &lt;a href=&#34;https://github.com/grafana/tempo/pull/1094&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PR #1094&lt;/a&gt; (@bboreham)&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="version-12-release-notes">Version 1.2 release notes&lt;/h1>
&lt;p>The Tempo team is excited to announce the release of Tempo 1.2. This release introduces Tempo search.&lt;/p>
&lt;h2 id="features-and-enhancements">Features and enhancements&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Recent traces search&lt;/strong> The headline feature of Tempo 1.2 is the ability to search for data that is still in the ingester component. This experimental feature must be enabled using feature flags in both Grafana and Tempo. Refer to &lt;a href="/docs/tempo/v1.2.x/getting-started/tempo-in-grafana/#tempo-search">Tempo search&lt;/a> for details.&lt;/li>
&lt;li>&lt;strong>Scalable monolithic deployment mode (formerly scalable single binary deployment mode)&lt;/strong> The new &lt;a href="/docs/tempo/v1.2.x/operations/deployment/#scalable-monolithic">scalable monolithic&lt;/a> deployment mode is operationally simpler, although less robust than a fully distributed deployment. We consider it a balanced operational mode that some may find attractive.&lt;/li>
&lt;li>&lt;strong>Massive performance improvements&lt;/strong> were achieved by more efficiently batching trace data being ingested. In terms of CPU needed, Tempo v1.2 is twice as efficient as Tempo v1.1. Refer to &lt;a href="https://github.com/grafana/tempo/pull/1075" target="_blank" rel="noopener noreferrer">PR 1075&lt;/a> for details.&lt;/li>
&lt;li>&lt;strong>API improvements&lt;/strong> Some informational endpoints were consolidated within the &lt;a href="../../../api_docs/#status">&lt;code>status&lt;/code> endpoint&lt;/a>. New endpoints were also added.&lt;/li>
&lt;/ul>
&lt;h2 id="upgrade-considerations">Upgrade considerations&lt;/h2>
&lt;p>When upgrading to Tempo v1.2, be aware of these changes:&lt;/p></description></item></channel></rss>