<?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-06-22T00: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.34.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-34-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-34-0"/>
        <updated>2026-06-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release introduces OpenTelemetry tracing for the Platform frontend, giving operators end-to-end visibility into the requests its backend handles. It also adds dedicated columns for common fields like timestamps in the Stream view, overhauls login and session handling for better performance, and fixes a range of loading and navigation issues across the app.]]></summary>
        <content type="html"><![CDATA[<p>This release introduces OpenTelemetry tracing for the Platform frontend, giving operators end-to-end visibility into the requests its backend handles. It also adds dedicated columns for common fields like timestamps in the Stream view, overhauls login and session handling for better performance, and fixes a range of loading and navigation issues across the app.</p>

<h2>Features</h2>

<h3>OpenTelemetry tracing for the Platform frontend</h3>
<p><small>Jun 11, 2026 · <a href="https://github.com/avaq">@avaq</a>, <a href="https://github.com/jachris">@jachris</a></small></p>
<p>The Platform frontend can now export OpenTelemetry traces over OTLP, giving operators end-to-end visibility into the requests its backend handles.</p>
<p>Enable tracing and point it at your OTLP collector:</p>
<pre><code class="language-sh">PUBLIC_ENABLE_TRACING=true
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
</code></pre>
<p>Traces are sent to <code>${OTEL_EXPORTER_OTLP_ENDPOINT}/v1/traces</code> by default. Set <code>OTEL_EXPORTER_OTLP_TRACES_ENDPOINT</code> to override the traces endpoint directly.</p>
<p>When exporting to a collector that requires authentication, supply headers as comma-separated <code>key=value</code> pairs:</p>
<pre><code class="language-sh">OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer &#x3C;token>,x-tenant=acme"
</code></pre>

<h3>Common fields now appear as columns</h3>
<p><small>Jun 3, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We improved the Stream view by displaying fields that are shared across all schemas in dedicated columns. Timestamps are the first supported field, making it easier to scan and compare at a glance while still allowing you to expand rows to view the full event. When no shared timestamp field is available, Stream view continues to use the existing layout.</p>

<h2>Changes</h2>

<h3>Remove direct Websocket Gateway connection support</h3>
<p><small>Jun 22, 2026 · <a href="https://github.com/avaq">@avaq</a></small></p>
<p>The Platform configuration variable <code>PUBLIC_USE_INTERNAL_WS_PROXY</code> no longer
has any effect. The platform now behaves as though this setting is always
enabled: All connections to the Websocket Gateway are now proxied through the
App Server ("BFF").</p>
<p>The <code>PUBLIC_WEBSOCKET_GATEWAY_ENDPOINT</code> variable that used to configure the
direct Gateway connection is now used as a fallback for when the
<code>PRIVATE_WEBSOCKET_GATEWAY_ENDPOINT</code> isn't defined.</p>

<h3>Security and performance improvements</h3>
<p><small>Jun 4, 2026 · <a href="https://github.com/avaq">@avaq</a></small></p>
<p>We overhauled the frontend's login and session handling. Compared to the previous release:</p>
<ul>
<li>OIDC provider metadata is now discovered once at application startup instead of on every session refresh, shaving the round-trip cost off many requests.</li>
<li>User keys (access tokens) are now always cached server-side in the user's session, alleviating the cost of obtaining new access tokens for many requests.</li>
<li>Users of Platform deployments using header-based auth (like Google IAP) are now also granted a login session, allowing them to benefit from session based caches. This means that access tokens and user metadata is no longer fetched externally on every request, potentially saving multiple round trips worth of time with each request.</li>
<li>Session IDs no longer leak to JavaScript, and are solely kept inside secure HTTP cookies.</li>
</ul>

<h2>Bug Fixes</h2>

<h3>Fix the Update bar flickering after saving a pipeline</h3>
<p><small>Jun 19, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Previously, after saving an edit on the pipeline detail page, the Cancel/Update bar would briefly reappear for about a second before disappearing again, even though nothing had changed. The bar now hides on a successful save and stays hidden until you make a new edit.</p>

<h3>Fix main menu links on some pages in the app</h3>
<p><small>Jun 18, 2026 · <a href="https://github.com/avaq">@avaq</a></small></p>
<p>The main menu links (Pipelines, Explorer, Contexts, and Library) now navigate correctly from all pages in the app. Previously, some pages would always link to the Pipelines page, even when clicking one of the other items.</p>

<h3>Library tab no longer hangs after interrupted load</h3>
<p><small>Jun 16, 2026 · <a href="https://github.com/Zedoraps">@Zedoraps</a>, <a href="https://github.com/claude">@claude</a></small></p>
<p>The Library tab now loads reliably after a previous attempt was
interrupted by a page reload or navigation. Previously the tab could
get stuck at "Loading…" indefinitely until the browser session was
cleared.</p>

<h3>Examples drawer loads on nodes with sparse package metadata</h3>
<p><small>Jun 16, 2026 · <a href="https://github.com/Zedoraps">@Zedoraps</a>, <a href="https://github.com/claude">@claude</a></small></p>
<p>The Explorer's Examples drawer no longer hangs at "Loading…" on Tenzir
Nodes that have installed packages whose examples are missing a <code>name</code>
or <code>description</code> (for instance several mappers under <code>microsoft/</code>,
<code>fortinet/</code>, <code>otel/</code>, and <code>zscaler/</code> in the Tenzir Library).</p>

<h3>Fix docs not loading</h3>
<p><small>Jun 16, 2026 · <a href="https://github.com/avaq">@avaq</a></small></p>
<p>The documentation panel should now show the documentation website again, instead of a white page.</p>

<h3>Fix stuck loading on pipeline details</h3>
<p><small>Jun 9, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where the pipeline detail page could get stuck on loading skeletons when a node disconnected. The page now stays open and keeps showing the pipeline's definition along with a notice that the node is disconnected, and recovers automatically once the node reconnects.</p>

<h3>Delete dashboards when removing a static workspace</h3>
<p><small>Jun 4, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Previously, when a workspace was removed from the static configuration file, dashboards that users had created within that workspace were left behind as orphaned records in the database. These could resurface if a new workspace later reused the same workspace ID. Removing a static workspace now also deletes these user-created dashboards.</p>

<h3>Explorer downloads on nodes using the legacy execution engine</h3>
<p><small>Jun 3, 2026 · <a href="https://github.com/tobim">@tobim</a>, <a href="https://github.com/claude">@claude</a> · <a href="https://github.com/tenzir/platform/pull/184">#184</a></small></p>
<p>Downloading results from the Explorer now works on Tenzir Nodes v6+ that are
configured to run pipelines on the legacy execution engine (<code>tenzir.neo: false</code>). Previously, preparing the download failed on such nodes because the
pipeline that uploads the results relied on functionality that is only
available in the new execution engine. The download pipeline now always runs
on the new execution engine, regardless of the node's configuration.</p>
]]></content>
        <published>2026-06-22T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.33.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-33-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-33-1"/>
        <updated>2026-06-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release fixes a regression where users authenticating via the `PRIVATE_JWT_FROM_HEADER` option were redirected to the login page when opening a workspace. Header-based authentication now loads workspaces correctly again.]]></summary>
        <content type="html"><![CDATA[<p>This release fixes a regression where users authenticating via the <code>PRIVATE_JWT_FROM_HEADER</code> option were redirected to the login page when opening a workspace. Header-based authentication now loads workspaces correctly again.</p>

<h2>Bug Fixes</h2>

<h3>Fix being redirected to the login page when using header-based authentication</h3>
<p><small>Jun 2, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>We fixed a regression introduced in v1.33.0 where users authenticating via the
<code>PRIVATE_JWT_FROM_HEADER</code> option were redirected to the login page (showing a
"Sign In" button) when opening a workspace, even though a valid JWT was supplied
in the configured header.</p>
<p>The workspace loader looked for the ID token in the session data, which is empty
for header-based authentication. It now reads the token from the configured
header, which is the authoritative source in that mode, so workspaces load
correctly again.</p>
]]></content>
        <published>2026-06-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.33.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-33-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-33-0"/>
        <updated>2026-06-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release adds the ability to sort events by time in the Stream view, cycling between newest-first, oldest-first, and off. It also fixes the Insights tab freezing on large pipelines and upgrades dependencies to address known security vulnerabilities.]]></summary>
        <content type="html"><![CDATA[<p>This release adds the ability to sort events by time in the Stream view, cycling between newest-first, oldest-first, and off. It also fixes the Insights tab freezing on large pipelines and upgrades dependencies to address known security vulnerabilities.</p>

<h2>Features</h2>

<h3>Single-column results fill the full table width</h3>
<p><small>Jun 3, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Results with a single column now stretch to fill the full width of the table instead of hugging the left edge. Long values use the available space and truncate at the table's edge rather than at a fixed cutoff.</p>

<h3>Right-click actions in the Explorer</h3>
<p><small>May 18, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>You can now right-click a field name or value in the Explorer table to filter,
sort, aggregate, or reshape your results. Actions like Equals, Not equals,
Greater than, Contains, Starts with, Top values, Rare values, and Count values
are appended to the editor as TQL, so common queries can be built by clicking
instead of typing.</p>
<p>Timestamps get extra options for filtering around the clicked value, with
windows of 5 minutes, 1 hour, and 1 day before, after, or on either side.</p>

<h3>Sort events by time in the Stream view</h3>
<p><small>May 7, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>You can now sort events by time in the Stream view. The control cycles between newest first, oldest first, and off, and is disabled when no timestamp field is detected in the data. Your sorting preference is remembered between sessions.</p>

<h2>Changes</h2>

<h3>Return a dedicated error when a user key expires</h3>
<p><small>May 21, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>When a <code>X-Tenzir-UserKey</code> has expired, the platform now returns a dedicated <code>403</code> response with the detail <code>User key expired</code>, instead of the generic <code>403 Invalid API Key: X-Tenzir-UserKey expired</code> error. This lets clients reliably detect the expired-key case and trigger a re-authentication flow.</p>

<h2>Bug Fixes</h2>

<h3>Insights tab for v6 release candidates</h3>
<p><small>May 26, 2026 · <a href="https://github.com/jachris">@jachris</a> · <a href="https://github.com/tenzir/platform/pull/177">#177</a></small></p>
<p>The Insights tab now always shows data for the release candidates of Tenzir Node
v6, even if no <code>// neo</code> comment is present.</p>

<h3>Fix actions on the account, org, and invite pages failing after the page was open for 15 minutes</h3>
<p><small>May 21, 2026 · <a href="https://github.com/avaq">@avaq</a></small></p>
<p>We fixed an issue where actions on the account, organization, and invitation pages would fail if the page had been open for more than 15 minutes. The following operations now automatically refresh the user key when needed: changing account details, updating passwords, deleting accounts, creating and updating organizations, managing organization invitations, and deleting organizations.</p>

<h3>Fix duration round-trip in TQL queries</h3>
<p><small>May 21, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Negative multi-part durations no longer drift when copied or embedded into a TQL query. Previously a duration like <code>-(19min + 12.636s)</code> was rendered as <code>-19min + 12.636s</code>, which the parser read as <code>-1127.364s</code> instead of the original <code>-1152.636s</code> — off by twice the seconds component. The sign now distributes across every term (<code>-19min - 12.636s</code>) so the value round-trips cleanly.</p>
<p>Duration rendering also picks up a clearer split between display and query forms. The table cells, chart tooltips, and chart axis labels show durations in a human-readable form like <code>1h 30min 5.000s</code>. The inspector and any context that needs to round-trip the value back into a query show the TQL-valid arithmetic form like <code>1h + 30min + 5.000000000s</code>.</p>

<h3>Fix Insights tab freezing on large pipelines</h3>
<p><small>May 19, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where the Insights tab became unresponsive and flickered on pipelines with many operators. The table now renders smoothly and stays interactive while showing live metrics.</p>
]]></content>
        <published>2026-06-01T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.32.2]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-32-2</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-32-2"/>
        <updated>2026-05-14T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release upgrades frontend, backend, and CLI dependencies, along with the tenzir-seaweed base image, to address known vulnerabilities reported by our container scanner. It also fixes two chart issues: tooltips no longer get clipped in small dashboard cells, and charts no longer zoom unexpectedly on click.]]></summary>
        <content type="html"><![CDATA[<p>This release upgrades frontend, backend, and CLI dependencies, along with the tenzir-seaweed base image, to address known vulnerabilities reported by our container scanner. It also fixes two chart issues: tooltips no longer get clipped in small dashboard cells, and charts no longer zoom unexpectedly on click.</p>

<h2>Bug Fixes</h2>

<h3>Fix accidental chart zoom on click</h3>
<p><small>May 14, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where clicking on a line, area, or bar chart could unintentionally zoom the chart to a narrow window, hiding the axis labels and most of the data. Charts no longer respond to clicks this way.</p>

<h3>Fix chart tooltip clipping</h3>
<p><small>May 14, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where chart tooltips were cut off in dashboard cells and the Explorer chart view when the tooltip did not fit inside the chart area. Tooltips now stay fully visible, even on small cells or near the screen edge.</p>
]]></content>
        <published>2026-05-14T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.32.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-32-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-32-1"/>
        <updated>2026-05-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This is a security patch release that updates dependencies to address vulnerabilities. It also shortens the default user key expiry to 15 Minutes.]]></summary>
        <content type="html"><![CDATA[<p>This is a security patch release that updates dependencies to address vulnerabilities. It also shortens the default user key expiry to 15 Minutes.</p>

<h2>Changes</h2>

<h3>Shorten default user key lifetime</h3>
<p><small>May 13, 2026 · <a href="https://github.com/lava">@lava</a></small></p>
<p>We reduced the default lifetime of user keys from one week to 15 minutes. Sessions transparently refresh, so this is invisible in normal use, but shortens the window in which a leaked key could be reused.</p>
]]></content>
        <published>2026-05-13T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.32.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-32-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-32-0"/>
        <updated>2026-05-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release adds a timeline to the Stream view that visualizes event volume over time, segmented by schema, with automatic timestamp detection. The Explorer's table view also gains keyboard navigation between entries and a streamlined Fields popover for quicker field selection.]]></summary>
        <content type="html"><![CDATA[<p>This release adds a timeline to the Stream view that visualizes event volume over time, segmented by schema, with automatic timestamp detection. The Explorer's table view also gains keyboard navigation between entries and a streamlined Fields popover for quicker field selection.</p>

<h2>Features</h2>

<h3>Timeline in the Stream view</h3>
<p><small>May 6, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>The Stream view now includes a timeline that shows event volume over time,
segmented by schema. It automatically detects timestamp fields and adapts
its bucket size to the data’s time range, providing an at-a-glance view of
when events occur and which schemas are most active.</p>
<p>It also probes your data for time fields and shows availability inline,
omitting events without a recognized time field (ts, timestamp, or time).</p>

<h3>Keyboard navigation between entries in Explorer</h3>
<p><small>May 5, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>You can now navigate between entries in the Explorer table using arrow keys.
Press Space to toggle the inspector, then use Arrow Up and Arrow Down to move
between rows and seamlessly across pages.</p>

<h2>Changes</h2>

<h3>Insights tab now available for every pipeline</h3>
<p><small>May 7, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>The Insights tab in the pipeline detail view is no longer experimental and now appears for every pipeline. It shows you live per-operator CPU usage, events per second, batch ratios, and queue backpressure for the selected pipeline. You can see at a glance which operators are working hardest and where data is piling up, so finding hotspots and tuning pipeline performance becomes easier. Update your node to v6 to see the data.</p>

<h3>Improved field selection in the table view</h3>
<p><small>Apr 21, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We moved field selection in the Explorer's table view into a dedicated popover. The 'Fields' button sits in the toolbar and shows how many fields are currently hidden. Opening it reveals the full field list with the same click-to-toggle and shift+click-to-focus behavior as before.</p>
]]></content>
        <published>2026-05-07T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.31.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-31-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-31-0"/>
        <updated>2026-04-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release introduces organizations to the Tenzir Platform, giving teams a shared home for collaborating across workspaces with admin and member roles. Workspace management has also been enhanced with rename support and a unified Users tab for managing access.]]></summary>
        <content type="html"><![CDATA[<p>This release introduces organizations to the Tenzir Platform, giving teams a shared home for collaborating across workspaces with admin and member roles. Workspace management has also been enhanced with rename support and a unified Users tab for managing access.</p>

<h2>Features</h2>

<h3>Workspace management improvements</h3>
<p><small>Apr 21, 2026 · <a href="https://github.com/lava">@lava</a>, <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Workspace management has been enhanced with new capabilities for administrators. You can now rename workspaces directly from the workspace settings, and the Users tab now provides a unified interface for managing workspace access. Administrators can view all users with access to a workspace in a single table and easily change user roles between member and admin roles using dropdown controls.</p>

<h3>Organizations</h3>
<p><small>Apr 21, 2026 · <a href="https://github.com/lava">@lava</a>, <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>The Tenzir Platform now supports organizations, giving teams a shared home for collaborating across workspaces. Organization admins can invite members, assign admin or member roles, and manage which workspaces belong to the organization. Members get access to all workspaces owned by the organization and can leave from their user settings at any time.</p>
<p>Learn more in the <a href="https://docs.tenzir.com/guides/platform-management/manage-organizations/">organization management guide</a>.</p>
]]></content>
        <published>2026-04-21T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.30.3]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-30-3</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-30-3"/>
        <updated>2026-04-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This patch release fixes an issue with the container build of the bundled seaweedFS image.]]></summary>
        <content type="html"><![CDATA[<p>This patch release fixes an issue with the container build of the bundled seaweedFS image.</p>
]]></content>
        <published>2026-04-09T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.30.2]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-30-2</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-30-2"/>
        <updated>2026-04-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release fixes an issue where the pipeline table stayed filtered after navigating away from a pipeline's detail page. It adds thousands separators to numeric values in the Insights tab for better readability. It also updates dependencies to address security issues.]]></summary>
        <content type="html"><![CDATA[<p>This release fixes an issue where the pipeline table stayed filtered after navigating away from a pipeline's detail page. It adds thousands separators to numeric values in the Insights tab for better readability. It also updates dependencies to address security issues.</p>

<h2>Changes</h2>

<h3>Readable numbers in the Insights tab</h3>
<p><small>Apr 7, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We added thousands separators to numeric values in the pipeline Insights tab, making large numbers easier to read at a glance.</p>

<h2>Bug Fixes</h2>

<h3>Fix pipeline table filter not clearing</h3>
<p><small>Apr 7, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where the pipeline table stayed filtered after viewing a pipeline's detail page and navigating away to another tab. Returning to the Pipelines page would show only the previously viewed pipeline, and clearing the search had no effect.</p>
]]></content>
        <published>2026-04-09T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.30.1]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-30-1</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-30-1"/>
        <updated>2026-04-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release fixes an issue that prevented users from accessing the public Tenzir Platform instance at app.tenzir.com.]]></summary>
        <content type="html"><![CDATA[<p>This release fixes an issue that prevented users from accessing the public Tenzir Platform instance at app.tenzir.com.</p>
]]></content>
        <published>2026-04-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tenzir Platform v1.30.0]]></title>
        <id>https://docs.tenzir.com/changelog/platform/v1-30-0</id>
        <link href="https://docs.tenzir.com/changelog/platform/v1-30-0"/>
        <updated>2026-04-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release introduces a new Stream view in the Explorer that displays pipeline results as a continuous, expandable event list. It also adds a time range selector, sortable table columns, and copyable inspector values, alongside several bug fixes for package management and the library view.]]></summary>
        <content type="html"><![CDATA[<p>This release introduces a new Stream view in the Explorer that displays pipeline results as a continuous, expandable event list. It also adds a time range selector, sortable table columns, and copyable inspector values, alongside several bug fixes for package management and the library view.</p>

<h2>Features</h2>

<h3>Field selection in the table view</h3>
<p><small>Mar 27, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>You can now choose which fields are visible in the Explorer's table view. When you select a schema in the sidebar, its fields are listed below. Click a field to hide its column from the table. Shift+click a field to show only that field. A "fields hidden" indicator in the table header lets you clear all hidden fields at once. Field selections are remembered per schema and reset when you run a new pipeline.</p>

<h3>Schema filtering in the Stream view</h3>
<p><small>Mar 26, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>You can now filter events in the Stream view by clicking schemas in the sidebar. The schemas panel shows color-coded dots matching each schema's badge color, and selecting one or more schemas limits the view to only those events. Same-name schema variants are merged into a single entry in the sidebar for easier navigation.</p>

<h3>Stream view in the Explorer</h3>
<p><small>Mar 26, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We added a new Stream view to the Explorer that shows all pipeline results as a continuous list of expandable events. You can switch between the Table, Chart, and Stream views using the view selector in the toolbar. The Stream view displays events from all schemas together, with color-coded badges to distinguish between them. Each row shows a one-line preview that you can expand to inspect the full event. The view remembers your selection across pipeline runs, and the event list scrolls horizontally as a whole, with schema badges staying pinned on the left.</p>

<h3>Sortable columns in the Explorer table</h3>
<p><small>Mar 13, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>You can now sort the Explorer table by clicking column headers. Sortable columns show a sort indicator, and clicking cycles through ascending, descending, and unsorted states. Sorting works for both top-level and nested fields.</p>

<h3>Copyable field names and values in the inspector</h3>
<p><small>Mar 12, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>You can now click on field names and values in the Explorer inspector to copy them to the clipboard. Field names copy the full dot-separated path, and values copy their TQL representation.</p>

<h3>Time range selector in the Explorer</h3>
<p><small>Mar 12, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>You can now select a time range directly from the Explorer header. Choose from quick presets like 5 minutes or 12 hours, or open the custom popover to pick from a grid of relative durations or set an absolute date range. The selector is currently available for pipelines that start with the <code>export</code> operator.</p>

<h2>Changes</h2>

<h3>Unified package detail view in the library</h3>
<p><small>Mar 12, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We combined the 'About' and 'Install' tabs in the package detail drawer into a single scrollable view. Package information, examples, and configuration options are now shown on one page instead of requiring tab switches.</p>

<h2>Bug Fixes</h2>

<h3>Prevent renaming a node to an empty string</h3>
<p><small>Apr 1, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where a node could be renamed to an empty string, causing the app to malfunction. Node names are now properly validated, so empty or whitespace-only names are no longer allowed.</p>

<h3>Fix stale token when switching disconnected nodes</h3>
<p><small>Apr 1, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where the connection token shown in the "Connect node" dialog did not update when switching between different disconnected nodes. The token now correctly refreshes for the selected node.</p>

<h3>Show custom packages in the library view</h3>
<p><small>Mar 24, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed an issue where custom packages installed on a node were not visible in the library view. Previously, only packages from the official Tenzir library were shown. Custom packages are now included alongside library packages.</p>

<h3>Fix rotated text in package detail accordion</h3>
<p><small>Mar 24, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>We fixed a bug where operator description text on the package detail page appeared rotated 90 degrees, overlapping other content.</p>

<h3>Package installs for packages with user-defined operators</h3>
<p><small>Mar 17, 2026 · <a href="https://github.com/gitryder">@gitryder</a></small></p>
<p>Packages containing user-defined operators can again be installed through the
platform. Previously, installing such packages failed because the operator
arguments were serialized incorrectly. This only affected installs through the
platform UI—command-line package installs were not impacted.</p>
]]></content>
        <published>2026-04-02T00:00:00.000Z</published>
    </entry>
    <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>
</feed>