<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://docs.tenzir.com/changelog/platform</id>
    <title>Tenzir Platform Changelog</title>
    <updated>2026-03-12T00:00:00.000Z</updated>
    <generator>Tenzir Changelog</generator>
    <author>
        <name>Tenzir</name>
        <uri>https://tenzir.com</uri>
    </author>
    <link rel="alternate" href="https://docs.tenzir.com/changelog/platform"/>
    <link rel="self" href="https://docs.tenzir.com/changelog/platform.xml"/>
    <subtitle>Release notes and changelog for Tenzir Platform</subtitle>
    <icon>https://docs.tenzir.com/favicon.svg</icon>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.29.2]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-29-2</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-29-2"/>
        <updated>2026-03-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release upgrades dependencies to address known security vulnerabilities and fixes an issue where the Insights tab selection could get stuck in an invalid state.]]></summary>
        <content type="html"><![CDATA[<p>This release upgrades dependencies to address known security vulnerabilities and fixes an issue where the Insights tab selection could get stuck in an invalid state.</p>

<h2>Bug Fixes</h2>

<h3>Upgrade dependencies to fix known vulnerabilities</h3>
<p><small>Mar 12, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>We upgraded Python dependencies and added system-level package upgrades to the Docker images to address known vulnerabilities.</p>

<h3>Fix Insights tab guard not resetting tab selection</h3>
<p><small>Mar 11, 2026 · <a href="https://github.com/realllydan">@realllydan</a></small></p>
<p>We fixed an issue where switching away from a pipeline that has the Insights tab available to one that does not could leave the tab selection in an invalid state.</p>
]]></content>
        <published>2026-03-12T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.29.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-29-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-29-1"/>
        <updated>2026-03-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release fixes an issue where ephemeral nodes were causing the frontend to display a 500 error message or be displayed with incorrect connection status.]]></summary>
        <content type="html"><![CDATA[<p>This release fixes an issue where ephemeral nodes were causing the frontend to display a 500 error message or be displayed with incorrect connection status.</p>

<h2>Features</h2>

<h3>Add PRIVATE_WEBSOCKET_GATEWAY_ENDPOINT environment variable</h3>
<p><small>Mar 10, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>The app container now supports a <code>PRIVATE_WEBSOCKET_GATEWAY_ENDPOINT</code> environment variable that overrides the existing <code>PUBLIC_WEBSOCKET_GATEWAY_ENDPOINT</code> for calls in the app backend. This allows configuring different endpoints when the frontend and backend live in different networks.</p>

<h3>Add experimental Insights tab to pipeline detail view</h3>
<p><small>Mar 10, 2026 · <a href="https://github.com/realllydan">@realllydan</a></small></p>
<p>The pipeline detail modal now includes an experimental Insights tab that visualizes per-operator backpressure, helping users identify bottlenecks in their pipelines. This tab is only available for pipelines running on the experimental new executor.</p>

<h2>Bug Fixes</h2>

<h3>Fix ephemeral nodes not showing correctly in the UI</h3>
<p><small>Mar 10, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>We fixed an issue where ephemeral nodes were causing the frontend to fail to render or be displayed with incorrect connection status.</p>
]]></content>
        <published>2026-03-10T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.29.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-29-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-29-0"/>
        <updated>2026-03-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[With this release, the Tenzir Platform preserves deep links through the login flow, so users are redirected to their original destination after signing in. It also includes several bug fixes and a performance improvement for loading across the platform.]]></summary>
        <content type="html"><![CDATA[<p>With this release, the Tenzir Platform preserves deep links through the login flow, so users are redirected to their original destination after signing in. It also includes several bug fixes and a performance improvement for loading across the platform.</p>

<h2>Features</h2>

<h3>Preserve deep links through login flow</h3>
<p><small>Mar 5, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>When you click a deep link in Tenzir Platform but aren't logged in, you're now redirected to your original destination after signing in, instead of landing on the home page.</p>

<h2>Changes</h2>

<h3>Faster loading across the platform</h3>
<p><small>Feb 18, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We improved how the nodes list loads, making dependent views feel faster and more responsive across the platform.</p>

<h2>Bug Fixes</h2>

<h3>Fix blocked profile images for some login providers</h3>
<p><small>Feb 27, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where profile images from Gravatar and Microsoft accounts were blocked by the content security policy, causing broken or missing avatars.</p>

<h3>Fix diagnostics showing data from the wrong pipeline</h3>
<p><small>Feb 27, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where the diagnostics pane could show diagnostics from a different pipeline than the one currently open in the detail modal.</p>

<h3>Fix unstable context list order</h3>
<p><small>Feb 18, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where the context list could appear in a random order when no search was active, causing items to jump around. The list now uses a stable alphabetical order so it stays consistent and easier to interact with.</p>

<h3>Fix unintended logout on inaccessible workspace links</h3>
<p><small>Feb 18, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where opening a pipeline link for a workspace you don’t have access to would log you out. You are now redirected to the access page where you can open the link in your default workspace.</p>
]]></content>
        <published>2026-03-05T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.28.3]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-28-3</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-28-3"/>
        <updated>2026-02-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release improves the clarity and usability of Explorer charts with better legends, tooltips, and an expanded color palette. It also fixes several UI bugs including unresponsive pipeline lists and stale workspace cleanup.]]></summary>
        <content type="html"><![CDATA[<p>This release improves the clarity and usability of Explorer charts with better legends, tooltips, and an expanded color palette. It also fixes several UI bugs including unresponsive pipeline lists and stale workspace cleanup.</p>

<h2>Changes</h2>

<h3>Improved Chart Legends, Tooltips, and Colors</h3>
<p><small>Feb 18, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We improved the clarity and usability of Explorer charts. Legends are now collapsible, easier to read, and support filtering series directly. Pie chart legends adapt better to available space, and tooltips provide clearer information.</p>
<p>We also expanded the chart color palette for better visual distinction between series, fixed bar chart x-axis labels overlapping when there are many data points, and refined chart layout and behavior for a smoother overall experience.</p>

<h2>Bug Fixes</h2>

<h3>Fix workspace switcher not displaying Google profile pictures</h3>
<p><small>Feb 18, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Resolved an issue where your Google profile picture did not appear in the workspace switcher. The image now loads and displays correctly.</p>

<h3>Fix stale loop variables in static workspace cleanup</h3>
<p><small>Feb 17, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>Fixed a bug where the static workspace synchronization used stale loop
variables during cleanup, causing stale workspaces to persist and the last
configured workspace to be incorrectly deleted.</p>

<h3>Fix pipeline list not responding after pressing ESC</h3>
<p><small>Feb 17, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where pressing ESC to close a pipeline detail view caused the pipeline list to stop responding to clicks.</p>
]]></content>
        <published>2026-02-24T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.28.2]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-28-2</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-28-2"/>
        <updated>2026-02-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release brings the Platform's dependencies up to date with the latest CVE fixes.]]></summary>
        <content type="html"><![CDATA[<p>This release brings the Platform's dependencies up to date with the latest CVE fixes.</p>

<h2>Bug Fixes</h2>

<h3>Patch security vulnerabilities</h3>
<p><small>Feb 17, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We updated the Platform's underlying framework dependencies to include their latest security fixes.</p>
]]></content>
        <published>2026-02-17T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.28.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-28-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-28-1"/>
        <updated>2026-02-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release upgrades pnpm to 9.15.0 in the frontend Docker image to address CVE-2024-53866.]]></summary>
        <content type="html"><![CDATA[<p>This release upgrades pnpm to 9.15.0 in the frontend Docker image to address CVE-2024-53866.</p>

<h2>Bug Fixes</h2>

<h3>Security update for pnpm CVE-2024-53866</h3>
<p><small>Feb 10, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>We upgraded pnpm to 9.15.0 in the frontend Docker image to address CVE-2024-53866.</p>
]]></content>
        <published>2026-02-10T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.28.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-28-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-28-0"/>
        <updated>2026-02-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release unifies the library's Available and Installed tabs into a single view, making package management more streamlined. It also adds pipeline activity sorting, series isolation in activity charts, a line wrap toggle in the Inspector, platform version display, and a backslash escaping fix.]]></summary>
        <content type="html"><![CDATA[<p>This release unifies the library's Available and Installed tabs into a single view, making package management more streamlined. It also adds pipeline activity sorting, series isolation in activity charts, a line wrap toggle in the Inspector, platform version display, and a backslash escaping fix.</p>

<h2>Features</h2>

<h3>Isolate series in pipeline activity chart</h3>
<p><small>Feb 6, 2026 · <a href="https://github.com/gitryder">@gitryder</a> · <a href="https://github.com/tenzir/platform/pull/64">#64</a></small></p>
<p>You can now click on the Ingress or Egress legend item to isolate that series in the activity chart. Clicking again shows both series, making it easier to analyze each metric when lines overlap.</p>

<h3>Wrap lines in the Inspector</h3>
<p><small>Feb 6, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We added a toggle in the Explorer table Inspector that lets you wrap lines for easier reading.</p>

<h3>View the current platform version</h3>
<p><small>Feb 3, 2026 · <a href="https://github.com/gitryder">@gitryder</a> · <a href="https://github.com/tenzir/platform/pull/42">#42</a></small></p>
<p>We now display the current platform version at the bottom of the workspace switcher dropdown,️ making it easier to always see which version you’re on.</p>

<h3>Sort pipelines by activity</h3>
<p><small>Jan 28, 2026 · <a href="https://github.com/gitryder">@gitryder</a> · <a href="https://github.com/tenzir/platform/pull/38">#38</a></small></p>
<p>We added sorting for the Live Activity column in the pipelines table, so you can easily order pipelines by their activity level.</p>

<h2>Changes</h2>

<h3>Unified library tabs</h3>
<p><small>Jan 28, 2026 · <a href="https://github.com/gitryder">@gitryder</a> · <a href="https://github.com/tenzir/platform/pull/29">#29</a></small></p>
<p>We unified the Available and Installed library tabs into a single view, so you can see which packages are installed without switching tabs. You can also uninstall packages directly from the same page.</p>

<h2>Bug Fixes</h2>

<h3>Fixed backslash escaping in TQL string rendering</h3>
<p><small>Feb 9, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>We fixed a bug in the Inspector where strings containing backslashes were not displayed correctly. Backslashes were not being escaped in TQL string rendering. For example, a string like <code>Hello \World\</code> was previously rendered as <code>"Hello \World\"</code> instead of <code>"Hello \\World\\"</code>. The fix ensures backslashes are properly escaped when displayed.</p>
]]></content>
        <published>2026-02-09T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.27.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-27-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-27-1"/>
        <updated>2026-02-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release fixes a bug where users could experience authentication failures due to stale user keys in their session. The platform now proactively checks for expired keys and refreshes them automatically.]]></summary>
        <content type="html"><![CDATA[<p>This release fixes a bug where users could experience authentication failures due to stale user keys in their session. The platform now proactively checks for expired keys and refreshes them automatically.</p>

<h2>Bug Fixes</h2>

<h3>Fixed workspace switcher on pipeline detail page</h3>
<p><small>Feb 2, 2026 · <a href="https://github.com/gitryder">@gitryder</a> · <a href="https://github.com/tenzir/platform/pull/56">#56</a></small></p>
<p>We fixed an issue where the workspace switcher dropdown did not open on the pipeline detail page.</p>

<h3>User key expiration handling</h3>
<p><small><a href="https://github.com/lava">@lava</a></small></p>
<p>Fixed a bug that could leave users with a stale user key in their session, causing authentication failures. The platform now proactively checks for expired user keys and refreshes them automatically.</p>
]]></content>
        <published>2026-02-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.27.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-27-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-27-0"/>
        <updated>2026-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release improves the pipeline detail view with faster loading and a convenient close button for quick navigation. Error messages are now cleaner with collapsible technical details, and we fixed issues where the UI could hang or become unresponsive. This release also includes security hardening for standalone deployments, including server-side token storage, configurable security headers, and Content Security Policy support.]]></summary>
        <content type="html"><![CDATA[<p>This release improves the pipeline detail view with faster loading and a convenient close button for quick navigation. Error messages are now cleaner with collapsible technical details, and we fixed issues where the UI could hang or become unresponsive. This release also includes security hardening for standalone deployments, including server-side token storage, configurable security headers, and Content Security Policy support.</p>

<h2>Features</h2>

<h3>Add security headers and CSP for standalone deployment</h3>
<p><small>Jan 22, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>The platform frontend now supports configurable response headers and Content Security Policy (CSP) for standalone deployments.</p>
<p>Set <code>TENZIR_PLATFORM_UI_ENABLE_RESPONSE_HEADERS_DEFAULT=true</code> to enable default security headers (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, Cross-Origin-Opener-Policy, Cross-Origin-Resource-Policy). Use <code>TENZIR_PLATFORM_UI_RESPONSE_HEADERS_DEFAULT</code> with a JSON object to override with custom headers.</p>
<p>Set <code>TENZIR_PLATFORM_UI_ENABLE_RESPONSE_HEADERS_HSTS=true</code> to enable HTTP Strict Transport Security for HTTPS deployments.</p>
<p>Set <code>TENZIR_PLATFORM_UI_ENABLE_RESPONSE_HEADERS_CSP=true</code> to enable Content Security Policy, which helps prevent XSS and other injection attacks.</p>

<h3>Faster pipeline detail view</h3>
<p><small>Jan 21, 2026 · <a href="https://github.com/gitryder">@gitryder</a> · <a href="https://github.com/tenzir/platform/pull/19">#19</a></small></p>
<p>We improved how pipeline details load, making the view faster than before when navigating between pipelines. We also added a close button next to the overflow menu on the right so you can quickly exit a pipeline while browsing pipeline details.</p>

<h3>Store authentication tokens server-side</h3>
<p><small>Jan 20, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>Authentication tokens (idToken and userKey) are now stored in the server-side session database instead of browser cookies. This improves security by keeping sensitive tokens accessible only via the session cookie identifier, preventing direct client-side access to authentication credentials.</p>

<h3>Add optional Caddy reverse proxy for seaweed S3 storage</h3>
<p><small>Jan 19, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>The seaweed S3 storage component now supports an optional Caddy reverse proxy that improves S3 error handling. Set <code>TENZIR_ENABLE_CADDY=true</code> to enable it. The reverse proxy intercepts 404 responses and returns proper S3-style error messages.</p>

<h2>Changes</h2>

<h3>Cleaner error messages</h3>
<p><small>Jan 21, 2026 · <a href="https://github.com/gitryder">@gitryder</a> · <a href="https://github.com/tenzir/platform/pull/37">#37</a></small></p>
<p>We now hide technical error details in error messages. You can click "Show error details" to expand them anytime, and use the copy button to share with support.</p>

<h2>Bug Fixes</h2>

<h3>Fix hangup in UI</h3>
<p><small>Jan 26, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>Fixed a potential infinite hang in the Tenzir UI that could
be triggered by a rare race condition where the Tenzir Node
returned duplicate pipeline ids.</p>

<h3>Fixed pipeline deletion</h3>
<p><small>Jan 21, 2026 · <a href="https://github.com/gitryder">@gitryder</a> · <a href="https://github.com/tenzir/platform/pull/19">#19</a></small></p>
<p>We fixed an issue where deleting a pipeline could cause the interface to become unresponsive.</p>
]]></content>
        <published>2026-01-26T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.26.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-26-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-26-0"/>
        <updated>2025-12-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release adds HashiCorp Vault as an external secret store for workspaces. The integration supports token and AppRole authentication with the KV v2 secrets engine.]]></summary>
        <content type="html"><![CDATA[<p>This release adds HashiCorp Vault as an external secret store for workspaces. The integration supports token and AppRole authentication with the KV v2 secrets engine.</p>

<h2>Features</h2>

<h3>HashiCorp Vault secret store support</h3>
<p><small>Dec 23, 2025 · <a href="https://github.com/lava">@lava</a>, <a href="https://github.com/mavam">@mavam</a></small></p>
<p>You can now use HashiCorp Vault as an external secret store for your workspaces.
The integration supports token and AppRole authentication methods, and works
with the KV v2 secrets engine. Add a Vault secret store via the CLI:</p>
<pre><code class="language-bash">tenzir-platform secret store add vault \
  --address=https://vault.example.com \
  --mount=secret \
  --token=&#x3C;token>
</code></pre>
<p>Or with AppRole authentication (recommended for production):</p>
<pre><code class="language-bash">tenzir-platform secret store add vault \
  --address=https://vault.example.com \
  --mount=secret \
  --role-id=&#x3C;id> --secret-id=&#x3C;id>
</code></pre>
<p>The <code>--mount</code> option specifies the path to a KV v2 secrets engine. For Vault
Enterprise, use <code>--namespace</code> to specify the namespace. Vault secrets are
returned as JSON by default. Append a <code>:key</code> suffix to retrieve a specific field
as a string, for example, <code>secret("database:password")</code>.</p>

<h3>Custom gateway URL in deployment instructions</h3>
<p><small>Dec 22, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>When using a Sovereign Edition instance of the Tenzir Platform with a custom
Tenzir Gateway URL, the "Other" tab now displays the gateway endpoint for easy
copying.</p>
]]></content>
        <published>2025-12-23T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.25.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-25-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-25-1"/>
        <updated>2025-12-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This patch release fixes an issue with default filesystem paths in the Tenzir Platform docker containers for Sovereign Edition users.]]></summary>
        <content type="html"><![CDATA[<p>This patch release fixes an issue with default filesystem paths in the Tenzir Platform docker containers for Sovereign Edition users.</p>

<h2>Changes</h2>

<h3>Replace tenant_manager/ path with platform_api/ in example configs</h3>
<p><small>Dec 16, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>We switched the docker images used by our example setups from one combined <code>tenzir/platform</code> image for both the Tenzir Platform API and the Tenzir Gateway to use separate images <code>tenzir/platform-api</code> and <code>tenzir/platform-gateway</code>.</p>
<p>⚠️ <strong>NOTE</strong>: We continue building and uploading the combined <code>tenzir/platform</code> image, although we recommend switching to the new images. Due to an internal CI issue, for versions <code>v1.24.0</code> and <code>v1.25.0</code> it is necessary to change the configured command from <code>tenant_manager/*</code> to <code>platform_api/*</code>, for example <code>tenant_manager/rest/server/local.py</code> becomes <code>platform_api/rest/server/local.py</code>. We recommend skipping these versions if possible.</p>
]]></content>
        <published>2025-12-16T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.25.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-25-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-25-0"/>
        <updated>2025-12-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release includes some UI fixes and minor improvements to smooth out common workflows. We fixed incorrect rendering of negative durations, resolved an issue where the node selector reset during navigation, and addressed a layout issue that could hide the install button in the package drawer.]]></summary>
        <content type="html"><![CDATA[<p>This release includes some UI fixes and minor improvements to smooth out common workflows. We fixed incorrect rendering of negative durations, resolved an issue where the node selector reset during navigation, and addressed a layout issue that could hide the install button in the package drawer.</p>

<h2>Bug Fixes</h2>

<h3>Fixed node selector resetting on navigation</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>The node selector now remembers your last selected node when navigating between pages. Previously, it would reset to the default node unexpectedly.</p>

<h3>Fixed incorrect rendering of negative durations</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where negative durations did not display correctly in the app. They now render as expected.</p>

<h3>Fix hidden footer in package drawer</h3>
<p><small>Dec 11, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where the footer in the pinned package drawer could become hidden. The layout now adjusts correctly so the install button always stays visible.</p>
]]></content>
        <published>2025-12-15T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.24.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-24-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-24-0"/>
        <updated>2025-12-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release includes many small UI fixes, as well as new TLS options for the websocket gateway.]]></summary>
        <content type="html"><![CDATA[<p>This release includes many small UI fixes, as well as new TLS options for the websocket gateway.</p>

<h2>Features</h2>

<h3>Add option to require client certificates for the Tenzir Gateway</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>Add a new TENZIR_PLATFORM_REQUIRE_CLIENT_CERTS environment variable that, when set to true, requires connecting clients to present a valid certificate signed by one of the CAs specified in TLS_CAFILE.</p>

<h3>Add option to require client certificates for the Tenzir Gateway</h3>
<p><small>Dec 10, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>The Tenzir Gateway now understands the new <code>TENZIR_PLATFORM_REQUIRE_CLIENT_CERTS</code> environment
variable that, when set to true, requires connecting clients to present a valid certificate
signed by one of the CAs specified in <code>TLS_CAFILE</code>.</p>

<h2>Bug Fixes</h2>

<h3>Fixed total ingress/egress showing incorrect values after page reload</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Previously, the total ingress and egress metrics could show incorrect values after reloading the page. They now correctly display data for the last 24 hours.</p>
]]></content>
        <published>2025-12-10T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.23.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-23-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-23-1"/>
        <updated>2025-11-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We fixed an issue where dashboard cells without a fixed node ID sometimes failed to render. These cells now render correctly using sensible fallbacks.]]></summary>
        <content type="html"><![CDATA[<p>We fixed an issue where dashboard cells without a fixed node ID sometimes failed to render. These cells now render correctly using sensible fallbacks.</p>

<h2>Bug Fixes</h2>

<h3>Fix blank dashboard cells</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where dashboard cells with no fixed node ID sometimes did not render. Those cells now display correctly using sensible fallbacks.</p>
]]></content>
        <published>2025-11-24T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.23.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-23-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-23-0"/>
        <updated>2025-11-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The seaweedfs service in our example setups now runs as non-root user and automatically adds the correct CORS headers. Be sure to read the \"Changes\" section below if you're using it in a self-hosted environment. As always, a slew of frontend improvements are included in this release as well.]]></summary>
        <content type="html"><![CDATA[<p>The seaweedfs service in our example setups now runs as non-root user and automatically adds the correct CORS headers. Be sure to read the "Changes" section below if you're using it in a self-hosted environment. As always, a slew of frontend improvements are included in this release as well.</p>

<h2>Features</h2>

<h3>Type Icons in the Explorer</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We replaced text labels with icons for types in the Explorer table header, giving it a cleaner, more compact look. You can hover over any icon to see the full type name.</p>

<h3>Fix some issues with the seaweed container</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>The docker compose example stacks now add the correct CORS setting for the upload and download endpoints by default.</p>

<h3>Editor Shortcuts Help</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>The editor now includes a shortcuts help section that shows useful keyboard shortcuts at a glance. You can open it by clicking the info button next to the copy pipeline link button.</p>

<h2>Changes</h2>

<h3>Switch default user for seaweed container</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>To conform with best practices, we updated the <code>tenzir-seaweed</code> image to use a non-root user by default.</p>
<p><strong>NOTE</strong>: This is a breaking change due to the updated permissions of the seaweed data volume.
If you have an existing docker compose stack, either manually specify the root user in your <code>docker-compose.yaml</code>:</p>
<pre><code class="language-yaml">services:
  seaweed:
    user: root
</code></pre>
<p>Or run a one-time command after upgrading to change the permissions of the seaweed data volume:</p>
<pre><code class="language-sh">docker compose run --user root --entrypoint /bin/sh seaweed
$ chown -R seaweed:seaweed /var/lib/seaweedfs
</code></pre>

<h2>Bug Fixes</h2>

<h3>Fixed background color on the pipeline detail page</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue that caused the pipeline detail page to show an incorrect background color.</p>

<h3>Fix static dashboard configuration issues</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>Fixed an issue that could lead to statically configured dashboards not being shown on the Dashboards page.</p>
]]></content>
        <published>2025-11-20T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.22.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-22-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-22-0"/>
        <updated>2025-11-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release includes a variety of UI improvements and bugfixes, as well as a new configuration option for working with external OIDC providers.]]></summary>
        <content type="html"><![CDATA[<p>This release includes a variety of UI improvements and bugfixes, as well as a new configuration option for working with external OIDC providers.</p>

<h2>Features</h2>

<h3>Navbar Styling Improvements</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We refreshed the navbar with subtle visual updates, including rounded edges and other minor styling adjustments for a cleaner look.</p>

<h3>Compact Explorer Table</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We made the Explorer table more compact, allowing you to see more rows within the same space.</p>

<h3>Add optional jwks_uri configuration for OIDC issuers</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>The new optional <code>jwks_uri</code> field for the <code>TENZIR_PLATFORM_OIDC_TRUSTED_AUDIENCES</code> configuration can be used to support for identity providers that don't publish discovery documents.</p>
<p>For example, when using Google IAP, a configuration value like this can be used:</p>
<pre><code>{
    "issuer": "https://cloud.google.com/iap",
    "audiences": ["your-audience"],
    "jwks_uri": "https://www.gstatic.com/iap/verify/public_key-jwk"
}
</code></pre>

<h2>Bug Fixes</h2>

<h3>Fixed incorrect labels in the activity chart</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a>, <a href="https://github.com/jachris">@jachris</a></small></p>
<p>We fixed an issue where some pipelines in the detailed activity chart were incorrectly labeled as “Ingress/Egress.” They now show the correct direction as “From node” or “To node.”</p>

<h3>Editor Text Visibility Fixes</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where text near the bottom of the editor was sometimes hidden, making all content clearly visible again.</p>
]]></content>
        <published>2025-11-13T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.21.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-21-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-21-0"/>
        <updated>2025-11-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release improves how you browse, edit, and share pipelines. We fixed overlapping timestamps in the activity chart, made pipeline updates more reliable and visible, sped up library loading, and added a new button in the editor to copy a link to the current pipeline.]]></summary>
        <content type="html"><![CDATA[<p>This release improves how you browse, edit, and share pipelines. We fixed overlapping timestamps in the activity chart, made pipeline updates more reliable and visible, sped up library loading, and added a new button in the editor to copy a link to the current pipeline.</p>

<h2>Features</h2>

<h3>Add example deployment for the AWS Cloud-Native edition</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>We added a new CloudFormation template for Sovereign Edition customers who are interested in quickly setting up a fully AWS-native platform instance.</p>

<h3>Copy pipeline link from editor</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We added a new button next to the Examples button in the editor that lets you copy a link to the current pipeline, just like in the history pane.</p>

<h2>Changes</h2>

<h3>Library experience enhanced with faster loading</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We made browsing the library much smoother. Package details now load faster, the app prefetches data in the background to reduce wait times, and you can manually refresh to get the latest information anytime.</p>

<h2>Bug Fixes</h2>

<h3>Improved pipeline updates and diagnostics visibility</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed issues that caused pipeline updates to sometimes fail or not show clearly. Diagnostics now appear directly in the editor instead of under the chart, making them easier to spot while editing.</p>

<h3>Fixed overlapping timestamps in activity chart</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where timestamps overlapped on the x-axis of the detailed activity chart on some widths, making them hard to read.</p>
]]></content>
        <published>2025-11-03T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.20.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-20-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-20-0"/>
        <updated>2025-10-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release introduces keyboard shortcut indicators for buttons, ensures consistent blob rendering, shows UDOs in the package info, and includes fixes for big number rendering and history position.]]></summary>
        <content type="html"><![CDATA[<p>This release introduces keyboard shortcut indicators for buttons, ensures consistent blob rendering, shows UDOs in the package info, and includes fixes for big number rendering and history position.</p>

<h2>Features</h2>

<h3>Added keyboard shortcut indicators</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We added visual indicators for keyboard shortcuts to all buttons in modals and other places that support them, making it easier to discover and use shortcuts.</p>

<h3>UDOs visible in package info</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>User-defined operators (UDOs) included in a library package now appear in the package’s About section, so you can easily see which UDOs the package contains.</p>

<h2>Changes</h2>

<h3>Consistent blob rendering</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/dit7ya">@dit7ya</a>, <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We now render blobs consistently in the inspector and the table. The inspector shows blob literals using the <code>b"..."</code> notation, making it easier to work with them.</p>

<h2>Bug Fixes</h2>

<h3>Big numbers in objects and lists</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/jachris">@jachris</a></small></p>
<p>Big numbers (those exceeding <code>9007199254740991</code>) in records and lists no longer
cause the data table to fail rendering.</p>

<h3>Fixed history position when rerunning pipelines</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where running a pipeline from your history did not reset your position to the newest entry. Your view now updates correctly.</p>
]]></content>
        <published>2025-10-22T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.19.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-19-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-19-1"/>
        <updated>2025-10-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release fixes several bugs in the Tenzir Platform; from the Secret Store API to the way ephemeral node tokens are generated.]]></summary>
        <content type="html"><![CDATA[<p>This release fixes several bugs in the Tenzir Platform; from the Secret Store API to the way ephemeral node tokens are generated.</p>

<h2>Changes</h2>

<h3>Enable secrets in localdev example</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>Secrets are now enabled by default in the 'localdev' example deployment of the Tenzir Platform.</p>

<h2>Bug Fixes</h2>

<h3>Fix token generation for static workspaces</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>Fixed a bug that caused static workspace tokens to include stray  b'...' characters, resulting in invalid node tokens.</p>

<h3>Update the secret store CLI interface to align with the Platform API</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>The Tenzir Platform CLI was calling an outdated version of the secret store API, leading to unintended 404 errors. The CLI has been updated to use the latest version now.</p>

<h3>Fixed internal server error when changing the default secret store</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/lava">@lava</a></small></p>
<p>Fixed an issue that could cause the Tenzir Platform API to return a 500 internal server error for certain parameters.</p>
]]></content>
        <published>2025-10-13T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.19.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-19-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-19-0"/>
        <updated>2025-09-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release adds a new detail page, as well as many UI fixes and improvements.]]></summary>
        <content type="html"><![CDATA[<p>This release adds a new detail page, as well as many UI fixes and improvements.</p>

<h2>Features</h2>

<h3>Pipeline detail page</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Pipelines now have their own dedicated detail pages that you can access by
clicking on any pipeline name. This gives you a comprehensive view of your
pipeline in a full-screen interface designed for deep inspection and
configuration.</p>

<h2>Changes</h2>

<h3>Prepare upcoming library format changes</h3>
<p><small>Dec 17, 2025 · gitryder, tobim</small></p>
<p>The Tenzir Platform now supports the upcoming package format changes in the Tenzir Library, which will be introduced in the near future.</p>

<h3>Update postgres in examples to v17.6</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/weh">@weh</a></small></p>
<p>Update the postgres version to 17.6 in the example docker-compose.yaml files.</p>

<h3>Show current and latest versions in node update info</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We now show both the current version and the latest available version when an update is available or required. For example, in the node selector you see your current version alongside the latest release version.</p>

<h2>Bug Fixes</h2>

<h3>Fix inifinite loading for dashboard cells that produce no data</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/dit7ya">@dit7ya</a></small></p>
<p>Dashboard cells that produce no data no longer show an infinite loading animation.</p>

<h3>Detailed pipeline activity spikes</h3>
<p><small>Dec 17, 2025 · <a href="https://github.com/jachris">@jachris</a></small></p>
<p>The detailed pipeline activity charts for the 15min range previously showed
spikes even when the underlying data flow was steady. Now, the activity chart
should correctly follow the actual data flow.</p>

<h3>Various UI Improvements</h3>
<p><small>Dec 17, 2025 · gitryder, dit7ya</small></p>
<p>This release also contains many additional bugfixes and improvements to the Tenzir UI:</p>
<ul>
<li>Fixed an issue that prevented cookie deletion.</li>
<li>Improved error logging for OpenID configuration decoding failures.</li>
<li>Fixed a bug where column resizing would break when new data with the same schema arrived.</li>
<li>Big numbers are now handled precisely in the data table and inspector.</li>
<li>A toast message is now displayed while the data download is being prepared.</li>
<li>Fixed a bug that caused the page to freeze when clicking outside the pipeline editor during editing.</li>
<li>The timestamp displayed in the tooltip of ingress/egress charts was fixed.</li>
</ul>
]]></content>
        <published>2025-09-30T00:00:00.000Z</published>
    </entry>
</feed>