<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Trackunit Developer Hub Blog</title>
        <link>https://developers.trackunit.com/changelog</link>
        <description>Trackunit Developer Hub Blog</description>
        <lastBuildDate>Tue, 24 Mar 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[trackunit/react-widgets 2.13.4 - Interactive WidgetKPI]]></title>
            <link>https://developers.trackunit.com/changelog/2026/03/24/react-widgets-widget-kpi-interactive</link>
            <guid>https://developers.trackunit.com/changelog/2026/03/24/react-widgets-widget-kpi-interactive</guid>
            <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The WidgetKPI component now supports an onClick prop, making KPI cards interactive with a hover effect, chevron indicator, and keyboard accessibility.]]></description>
            <content:encoded><![CDATA[<p>The <code>WidgetKPI</code> component now supports an <code>onClick</code> prop, making KPI cards interactive with a hover effect, chevron indicator, and keyboard accessibility.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="breaking-change">Breaking Change<a href="https://developers.trackunit.com/changelog/2026/03/24/react-widgets-widget-kpi-interactive#breaking-change" class="hash-link" aria-label="Direct link to Breaking Change" title="Direct link to Breaking Change" translate="no">​</a></h3>
<p><strong><code>WidgetContent</code> padding has changed</strong> for KPI widgets using the <code>onClick</code> prop. If your widget previously used <code>padding="responsive"</code>, you should update it to <code>padding="none"</code> — the <code>WidgetKPI</code> component now handles its own padding internally.</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[Iris Apps now use Vite instead of Rspack]]></title>
            <link>https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite</link>
            <guid>https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite</guid>
            <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Iris Apps have been migrated from Rspack to Vite as the build system. Vite provides near-instant dev server startup, fast HMR using native ES modules, and optimized production builds.]]></description>
            <content:encoded><![CDATA[<p>Iris Apps have been migrated from Rspack to <a href="https://vitejs.dev/" target="_blank" rel="noopener noreferrer" class="">Vite</a> as the build system. Vite provides near-instant dev server startup, fast HMR using native ES modules, and optimized production builds.</p>
<p>Affected packages:</p>
<ul>
<li class=""><strong>@trackunit/iris-app-sdk-vite</strong> — new package, replaces <code>@trackunit/iris-app-sdk-rspack</code> for build and serve</li>
<li class=""><strong>@trackunit/iris-app-sdk-rspack</strong> — deprecated for Iris Apps, will be removed in a future version</li>
</ul>
<p>Old executors removed:</p>
<ul>
<li class=""><strong>@trackunit/iris-app:build</strong> — removed (was already deprecated)</li>
<li class=""><strong>@trackunit/iris-app:serve</strong> — removed (was already deprecated)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-1-update-all-trackunit-dependencies">Step 1: Update all Trackunit dependencies<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#step-1-update-all-trackunit-dependencies" class="hash-link" aria-label="Direct link to Step 1: Update all Trackunit dependencies" title="Direct link to Step 1: Update all Trackunit dependencies" translate="no">​</a></h2>
<p>Make sure you are on the latest Trackunit dependencies:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">npx npm-check-updates </span><span class="token string" style="color:#e3116c">"/@trackunit/"</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">-u</span><br></div></code></pre></div></div>
<p>Then install:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">npm</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">npm</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> @trackunit/iris-app-sdk-vite </span><span class="token parameter variable" style="color:#36acaa">-D</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-2-update-projectjson">Step 2: Update <code>project.json</code><a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#step-2-update-projectjson" class="hash-link" aria-label="Direct link to step-2-update-projectjson" title="Direct link to step-2-update-projectjson" translate="no">​</a></h2>
<p>Replace the Rspack executors with the Vite equivalents.</p>
<p><strong>Before:</strong></p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"targets"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"build"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"executor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@trackunit/iris-app-sdk-rspack:build"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"options"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token property" style="color:#36acaa">"rspackConfig"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"apps/{app-name}/rspack.config.ts"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token property" style="color:#36acaa">"outputPath"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"dist/apps/{app-name}"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"outputs"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"{options.outputPath}"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"serve"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"executor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@trackunit/iris-app-sdk-rspack:serve"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"options"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token property" style="color:#36acaa">"rspackConfig"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"apps/{app-name}/rspack.config.ts"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p><strong>After:</strong></p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"targets"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"build"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"executor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@trackunit/iris-app-sdk-vite:build"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"options"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token property" style="color:#36acaa">"outputPath"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"dist/apps/{app-name}"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"outputs"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"{options.outputPath}"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"serve"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"executor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@trackunit/iris-app-sdk-vite:serve"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"options"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>Key changes:</p>
<ul>
<li class="">Executor changed from <code>@trackunit/iris-app-sdk-rspack</code> to <code>@trackunit/iris-app-sdk-vite</code></li>
<li class="">The <code>rspackConfig</code> option is removed — Vite works with zero config by default</li>
<li class="">Optionally, you can add a <code>viteConfig</code> option if you need custom configuration (see Step 3)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-3-replace-rspackconfigts-with-viteconfigts">Step 3: Replace <code>rspack.config.ts</code> with <code>vite.config.ts</code><a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#step-3-replace-rspackconfigts-with-viteconfigts" class="hash-link" aria-label="Direct link to step-3-replace-rspackconfigts-with-viteconfigts" title="Direct link to step-3-replace-rspackconfigts-with-viteconfigts" translate="no">​</a></h2>
<p>Delete your existing <code>rspack.config.ts</code> file.</p>
<p>If you had no customizations in your rspack config (i.e., it just returned the default configuration), you can skip creating a vite config entirely — it works out of the box.</p>
<p>If you need custom configuration, create a <code>vite.config.ts</code> in your app root:</p>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> defineConfig</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> UserConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"vite"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">defineConfig</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">configuration</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> UserConfig</span><span class="token punctuation" style="color:#393A34">)</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">Promise</span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">UserConfig</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> configuration</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>You can extend the default configuration by spreading and adding your overrides:</p>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> defineConfig</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> UserConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"vite"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">defineConfig</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">configuration</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> UserConfig</span><span class="token punctuation" style="color:#393A34">)</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">Promise</span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">UserConfig</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token operator" style="color:#393A34">...</span><span class="token plain">configuration</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        define</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token operator" style="color:#393A34">...</span><span class="token plain">configuration</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">define</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">            __MY_CUSTOM_FLAG__</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">JSON</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">stringify</span><span class="token punctuation" style="color:#393A34">(</span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>Then reference it in your <code>project.json</code>:</p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"serve"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"executor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@trackunit/iris-app-sdk-vite:serve"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"options"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"viteConfig"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"apps/{app-name}/vite.config.ts"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"build"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"executor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@trackunit/iris-app-sdk-vite:build"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"options"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"viteConfig"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"apps/{app-name}/vite.config.ts"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"outputPath"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"dist/apps/{app-name}"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-4-remove-tailwindconfigjs-if-present">Step 4: Remove <code>tailwind.config.js</code> (if present)<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#step-4-remove-tailwindconfigjs-if-present" class="hash-link" aria-label="Direct link to step-4-remove-tailwindconfigjs-if-present" title="Direct link to step-4-remove-tailwindconfigjs-if-present" translate="no">​</a></h2>
<p>If your app has a <code>tailwind.config.js</code> file, delete it. Tailwind CSS v4 is now configured automatically by the Vite plugin using PostCSS — no manual Tailwind config is needed.</p>
<p>See the <a href="https://developers.trackunit.com/changelog/tailwind-4-upgrade" target="_blank" rel="noopener noreferrer" class="">Tailwind 4 upgrade changelog</a> for more details on the Tailwind migration.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-5-clean-up-old-dependencies">Step 5: Clean up old dependencies<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#step-5-clean-up-old-dependencies" class="hash-link" aria-label="Direct link to Step 5: Clean up old dependencies" title="Direct link to Step 5: Clean up old dependencies" translate="no">​</a></h2>
<p>Remove unwanted packages from your NX's <code>package.json</code> (if present):</p>
<ul>
<li class=""><code>@trackunit/iris-app-webpack-plugin</code></li>
<li class=""><code>@trackunit/iris-app-sdk-rspack</code></li>
<li class=""><code>@rspack/core</code></li>
<li class=""><code>@rspack/dev-server</code>,</li>
<li class=""><code>copy-webpack-plugin</code></li>
<li class=""><code>css-loader</code></li>
<li class=""><code>esbuild-loader</code></li>
<li class=""><code>style-loader</code></li>
<li class=""><code>postcss</code></li>
<li class=""><code>postcss-loader</code></li>
<li class=""><code>json-loader</code></li>
<li class=""><code>webpack</code></li>
<li class=""><code>webpack-cli</code></li>
<li class=""><code>webpack-dev-server</code></li>
</ul>
<p>Then install to update your lockfile:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">npm</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="step-6-verify">Step 6: Verify<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#step-6-verify" class="hash-link" aria-label="Direct link to Step 6: Verify" title="Direct link to Step 6: Verify" translate="no">​</a></h2>
<p>Run serve and build to verify everything works:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># Start dev server</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">npx nx run </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">app-name</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain">:serve</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Production build</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">npx nx run </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">app-name</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain">:build</span><br></div></code></pre></div></div>
<p>The dev server will start on a port in the range 22220–22229 and print a link to open your app:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">✨ Iris App is now started, check it out ✨</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">https://new.manager.trackunit.com/goto/iris-app-dev</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-executor-options">New executor options<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#new-executor-options" class="hash-link" aria-label="Direct link to New executor options" title="Direct link to New executor options" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="serve-options">Serve options<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#serve-options" class="hash-link" aria-label="Direct link to Serve options" title="Direct link to Serve options" translate="no">​</a></h3>



































<table><thead><tr><th>Option</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>viteConfig</code></td><td>string</td><td>—</td><td>Path to custom Vite config file (optional)</td></tr><tr><td><code>port</code></td><td>number</td><td>auto (22220-22229)</td><td>Dev server port</td></tr><tr><td><code>host</code></td><td>string</td><td><code>localhost</code></td><td>Dev server host</td></tr><tr><td><code>skipTypeChecking</code></td><td>boolean</td><td><code>false</code></td><td>Skip TypeScript type checking during dev</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="build-options">Build options<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#build-options" class="hash-link" aria-label="Direct link to Build options" title="Direct link to Build options" translate="no">​</a></h3>





























<table><thead><tr><th>Option</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>viteConfig</code></td><td>string</td><td>—</td><td>Path to custom Vite config file (optional)</td></tr><tr><td><code>outputPath</code></td><td>string</td><td>—</td><td>Output directory (required)</td></tr><tr><td><code>skipTypeChecking</code></td><td>boolean</td><td><code>false</code></td><td>Skip TypeScript type checking during build</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bundle-analysis">Bundle analysis<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#bundle-analysis" class="hash-link" aria-label="Direct link to Bundle analysis" title="Direct link to Bundle analysis" translate="no">​</a></h2>
<p>To analyze your bundle size, set the <code>BUNDLE_ANALYSE</code> environment variable:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token assign-left variable" style="color:#36acaa">BUNDLE_ANALYSE</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">true npx nx run </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">app-name</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain">:build</span><br></div></code></pre></div></div>
<p>This generates a <code>stats.html</code> file in the output directory using <a href="https://github.com/btd/rollup-plugin-visualizer" target="_blank" rel="noopener noreferrer" class="">rollup-plugin-visualizer</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="troubleshooting">Troubleshooting<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#troubleshooting" class="hash-link" aria-label="Direct link to Troubleshooting" title="Direct link to Troubleshooting" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="cors-errors-during-development">CORS errors during development<a href="https://developers.trackunit.com/changelog/2026/02/26/migrate-from-rspack-to-vite#cors-errors-during-development" class="hash-link" aria-label="Direct link to CORS errors during development" title="Direct link to CORS errors during development" translate="no">​</a></h3>
<p>The Vite dev server automatically sets CORS headers for Trackunit domains. If you see CORS errors:</p>
<ol>
<li class="">Verify the Vite server is running</li>
<li class="">Check that "Use Local Apps" is enabled in developer settings</li>
<li class="">Ensure no proxy is interfering with requests</li>
</ol>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[trackunit/iris-app v1.11.45 - NX upgraded to v22.4.4]]></title>
            <link>https://developers.trackunit.com/changelog/2026/02/19/iris-app-v1-11-45-nx-upgrade</link>
            <guid>https://developers.trackunit.com/changelog/2026/02/19/iris-app-v1-11-45-nx-upgrade</guid>
            <pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[In this version of our Iris App SDK, we have upgraded NX to v22.4.4.]]></description>
            <content:encoded><![CDATA[<p>In this version of our Iris App SDK, we have upgraded NX to v22.4.4.
Make sure to upgrade your extensions to the latest version of NX.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">npx nx migrate </span><span class="token number" style="color:#36acaa">22.4</span><span class="token plain">.4</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">npx nx migrate --run-migrations</span><br></div></code></pre></div></div>
<p>Please refer to <a class="" href="https://developers.trackunit.com/docs/apps-and-extensions/overview/iris-app-sdk-reference/maintaining-your-app">Maintaining Your Application</a> for more information.</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[Tailwind upgraded from v3 to v4]]></title>
            <link>https://developers.trackunit.com/changelog/2026/02/16/tailwind-4-upgrade</link>
            <guid>https://developers.trackunit.com/changelog/2026/02/16/tailwind-4-upgrade</guid>
            <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[In this version we upgraded the foundation for our tailwind to use tailwind 4.1.18 instead of 3.x.]]></description>
            <content:encoded><![CDATA[<p>In this version we upgraded the foundation for our tailwind to use tailwind 4.1.18 instead of 3.x.</p>
<p>Effected packages:</p>
<ul>
<li class="">@trackunit/css-core - contains the generated css file to use</li>
<li class="">@trackunit/css-tailwind - deprecated, just remove it from your package.json</li>
<li class="">@trackunit/css-tailwind-custom-properties-plugin - deprecated, just remove it from your package.json</li>
</ul>
<p>Also, many of the React libraries have changed, so make sure to update all Trackunit dependencies.</p>
<p>Use this command to make sure you are updated with all latest Trackunit dependencies</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">npx npm-check-updates </span><span class="token string" style="color:#e3116c">"/@trackunit/"</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">-u</span><br></div></code></pre></div></div>
<p>Now you need to install the latest tailwind dependencies</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">npm</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> @tailwind/postcss@4.1.18 --save-dev</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">npm</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> tailwindcss@4.1.18 --save-dev</span><br></div></code></pre></div></div>
<p>After this the 'serve' command will use the correct tailwindcss/postcss and all Trackunit dependencies are updated.</p>
<p>For more information on how it might effect your own tailwind classes in your codebase - check this <a href="https://tailwindcss.com/docs/upgrade-guide" target="_blank" rel="noopener noreferrer" class="">Migration guide</a></p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[Assets API v2]]></title>
            <link>https://developers.trackunit.com/changelog/2026/01/15/assets-api-stable-version-v2</link>
            <guid>https://developers.trackunit.com/changelog/2026/01/15/assets-api-stable-version-v2</guid>
            <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Released stable version v2 of Assets API.]]></description>
            <content:encoded><![CDATA[<p>Released stable version v2 of Assets API.</p>
<p>The Assets API v2 builds on the foundation of v1 with expanded querying, improved asset lifecycle management, and enhanced flexibility. In addition to onboarding, offboarding, and updating asset specifications, v2 introduces advanced filtering and pagination, asset querying by multiple identifier types, asset hiding and unhiding, and dedicated support for asset notes. The API also streamlines telematics device attachment flow, providing a more consistent and scalable way to manage assets across accounts and fleets. For more information, see the updated endpoint documentation.</p>
<p>Below a list of all available endpoints:</p>
<blockquote>
<p>➕ GET: <code>/asset/v2/assets</code></p>
</blockquote>
<p>Get assets</p>
<blockquote>
<p>➕ GET: <code>/asset/v2/assets/{assetId}</code></p>
</blockquote>
<p>Get asset</p>
<blockquote>
<p>➕ POST: <code>/asset/v2/assets</code></p>
</blockquote>
<p>Create assets</p>
<blockquote>
<p>➕ PATCH: <code>/asset/v2/assets</code></p>
</blockquote>
<p>Update assets</p>
<blockquote>
<p>➕ DELETE: <code>/asset/v2/assets/{assetId}</code></p>
</blockquote>
<p>Delete asset</p>
<blockquote>
<p>➕ POST: <code>/asset/v2/assets/query</code></p>
</blockquote>
<p>Query assets by identifiers</p>
<blockquote>
<p>➕ PATCH: <code>/asset/v2/assets/hidden</code></p>
</blockquote>
<p>Hide or unhide assets</p>
<blockquote>
<p>➕ PATCH: <code>/asset/v2/assets/note</code></p>
</blockquote>
<p>Update asset note</p>
<blockquote>
<p>➕ POST: <code>/asset/v2/assets/notes/query</code></p>
</blockquote>
<p>Fetch asset notes</p>
<blockquote>
<p>➕ POST: <code>/asset/v2/assets/{assetId}/telematics-devices</code></p>
</blockquote>
<p>Attach telematics device</p>]]></content:encoded>
            <category>Added</category>
        </item>
        <item>
            <title><![CDATA[trackunit/iris-app v1.7.96 - Node upgraded to v24]]></title>
            <link>https://developers.trackunit.com/changelog/2025/11/26/rackunitiris-app-vxxxxx-node-upgraded-to-v24</link>
            <guid>https://developers.trackunit.com/changelog/2025/11/26/rackunitiris-app-vxxxxx-node-upgraded-to-v24</guid>
            <pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[In this version of the App SDK, we have upgraded Node to the current LTS version 24.11.1. Make sure to upgrade your workspace to at least that version.]]></description>
            <content:encoded><![CDATA[<p>In this version of the App SDK, we have upgraded Node to the current LTS version 24.11.1. Make sure to upgrade your workspace to at least that version.</p>
<p>If using volta, you can install the latest LTS version of Node by running:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">volta </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> node@lts</span><br></div></code></pre></div></div>
<p>or by adding the following to your root package.json</p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_OeMC">package.json</div><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token property" style="color:#36acaa">"volta"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"node"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"24.11.1"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>Otherwise, you can download the latest LTS version of Node from the Node.js website.</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[trackunit/filters-filter-bar v1.7.90 - Filter URL Synchronization]]></title>
            <link>https://developers.trackunit.com/changelog/2025/10/06/filters-filter-bar-v1-7-90</link>
            <guid>https://developers.trackunit.com/changelog/2025/10/06/filters-filter-bar-v1-7-90</guid>
            <pubDate>Mon, 06 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Filter URL Synchronization]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="filter-url-synchronization">Filter URL Synchronization<a href="https://developers.trackunit.com/changelog/2025/10/06/filters-filter-bar-v1-7-90#filter-url-synchronization" class="hash-link" aria-label="Direct link to Filter URL Synchronization" title="Direct link to Filter URL Synchronization" translate="no">​</a></h2>
<p>Filter states are now automatically synchronized with URL parameters, allowing users to bookmark or share filtered views. When filters are applied, the URL updates to reflect the current filter state, and the filters are restored when navigating back to that URL.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="breaking-change">Breaking Change<a href="https://developers.trackunit.com/changelog/2025/10/06/filters-filter-bar-v1-7-90#breaking-change" class="hash-link" aria-label="Direct link to Breaking Change" title="Direct link to Breaking Change" translate="no">​</a></h3>
<p><strong>TanStack Router is now required</strong> for Iris app extensions using the filter bar.</p>
<p>Your app entry point must be wrapped with TanStack Router's <code>RouterProvider</code>. See the <a href="https://github.com/csk-trackunit/iris-app-with-router-example/blob/main/libs/context-test/src/index.tsx" target="_blank" rel="noopener noreferrer" class="">iris-app-with-router-example</a> for a complete implementation example showing how to set up the router in your Iris app extension.</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[Set custom fields values using definition key]]></title>
            <link>https://developers.trackunit.com/changelog/2025/09/04/custom-fields-def-key</link>
            <guid>https://developers.trackunit.com/changelog/2025/09/04/custom-fields-def-key</guid>
            <pubDate>Thu, 04 Sep 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[We enhanced the endpoint for setting custom field values to support definition keys as an alternative to definition UUIDs. This improvement eliminates the need to hardcode UUIDs in your integration code, making your implementations more maintainable and readable.]]></description>
            <content:encoded><![CDATA[<p>We enhanced the endpoint for setting custom field values to support definition keys as an alternative to definition UUIDs. This improvement eliminates the need to hardcode UUIDs in your integration code, making your implementations more maintainable and readable.</p>
<blockquote>
<p>➕ POST: /api/custom-fields/v1/set-values/</p>
</blockquote>
<p>Set custom field values</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[Deprecation of Day Range Picker Popover Component]]></title>
            <link>https://developers.trackunit.com/changelog/2025/06/24/day-ranger-picker-popover</link>
            <guid>https://developers.trackunit.com/changelog/2025/06/24/day-ranger-picker-popover</guid>
            <pubDate>Tue, 24 Jun 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The DayRangePickerPopover component is being deprecated in favor of the new DayRangeSelect component. The new DayRangeSelect component replaces it with all the same functionality but with a more user friendly user experience.]]></description>
            <content:encoded><![CDATA[<p>The <code>DayRangePickerPopover</code> component is being deprecated in favor of the new <code>DayRangeSelect</code> component. The new <code>DayRangeSelect</code> component replaces it with all the same functionality but with a more user friendly user experience.</p>]]></content:encoded>
            <category>Removed</category>
        </item>
        <item>
            <title><![CDATA[trackunit/iris-app v1.3.155 - NX upgraded to v21.1.3]]></title>
            <link>https://developers.trackunit.com/changelog/2025/06/12/iris-app-v1-3-155-nx-upgrade</link>
            <guid>https://developers.trackunit.com/changelog/2025/06/12/iris-app-v1-3-155-nx-upgrade</guid>
            <pubDate>Thu, 12 Jun 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[In this version of our Iris App SDK, we have upgraded NX to v21.1.3.]]></description>
            <content:encoded><![CDATA[<p>In this version of our Iris App SDK, we have upgraded NX to v21.1.3.
Make sure to upgrade your extensions to the latest version of NX.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">npx nx migrate </span><span class="token number" style="color:#36acaa">21.1</span><span class="token plain">.3</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">npx nx migrate --run-migrations</span><br></div></code></pre></div></div>
<p>Please refer to <a href="https://developers.trackunit.com/docs/maintaining-your-app" target="_blank" rel="noopener noreferrer" class="">Maintaining Your Application</a> for more information.</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[Bluetooth tag configuration API v1]]></title>
            <link>https://developers.trackunit.com/changelog/2025/05/29/bluetooth-tag-configuration-api-v1</link>
            <guid>https://developers.trackunit.com/changelog/2025/05/29/bluetooth-tag-configuration-api-v1</guid>
            <pubDate>Thu, 29 May 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Released stable version v1 of Bluetooth tag configuration API. For more information, see the documentation and introduction of the endpoints.]]></description>
            <content:encoded><![CDATA[<p>Released stable version v1 of Bluetooth tag configuration API. For more information, see the documentation and introduction of the endpoints.</p>
<p>Below is a list of all available REST endpoints:</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="kin-challenge">KIN Challenge<a href="https://developers.trackunit.com/changelog/2025/05/29/bluetooth-tag-configuration-api-v1#kin-challenge" class="hash-link" aria-label="Direct link to KIN Challenge" title="Direct link to KIN Challenge" translate="no">​</a></h2>
<blockquote>
<p>➕ POST: <code>/v1/kin-challenge/sign</code></p>
</blockquote>
<p>Sign KIN Challenge</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="utilization-profiles">Utilization Profiles<a href="https://developers.trackunit.com/changelog/2025/05/29/bluetooth-tag-configuration-api-v1#utilization-profiles" class="hash-link" aria-label="Direct link to Utilization Profiles" title="Direct link to Utilization Profiles" translate="no">​</a></h2>
<blockquote>
<p>➕ POST: <code>/v1/utilization-profiles/search</code></p>
</blockquote>
<p>Search Utilization Profiles</p>
<blockquote>
<p>➕ GET: <code>/v1/utilization-profiles/{profileId}</code></p>
</blockquote>
<p>Get Utilization Profile</p>
<blockquote>
<p>➕ PUT: <code>/v1/utilization-profiles/{profileId}/acknowledge-desired/{deviceId}</code></p>
</blockquote>
<p>Acknowledge Desired Utilization Profile</p>
<blockquote>
<p>➕ PUT: <code>/v1/utilization-profiles/{profileId}/acknowledge-reported/{deviceId}</code></p>
</blockquote>
<p>Acknowledge Reported Utilization Profile</p>]]></content:encoded>
            <category>Added</category>
        </item>
        <item>
            <title><![CDATA[GraphQL Asset Clusters]]></title>
            <link>https://developers.trackunit.com/changelog/2025/05/16/gql-asset-cluster</link>
            <guid>https://developers.trackunit.com/changelog/2025/05/16/gql-asset-cluster</guid>
            <pubDate>Fri, 16 May 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Released asset clustering in the GraphQL API.]]></description>
            <content:encoded><![CDATA[<p>Released asset clustering in the GraphQL API.</p>
<p>The new <code>assetClusters</code> field supports obtaining clusters of assets based on their current location. Useful for drawing a map of clusters of assets.</p>
<p>It accepts the same <code>AssetFiltersInput</code> as the <code>assets</code> search field, so they can easily be combined if needed.</p>
<blockquote>
<p>➕ GQL: <code>Query.assetClusters</code></p>
</blockquote>
<p><a href="https://developers.trackunit.com/reference/graphql-api-introduction" target="_blank" rel="noopener noreferrer" class="">See all relevant GQL documentation</a></p>
<p><img decoding="async" loading="lazy" src="https://cdn.statically.io/gh/Trackunit/developer-hub/master/changelogs/gql-asset-cluster.png" alt="map with some asset clusters" class="img_ev3q"></p>]]></content:encoded>
            <category>Added</category>
        </item>
        <item>
            <title><![CDATA[Fleet Data Health API v1beta1]]></title>
            <link>https://developers.trackunit.com/changelog/2025/05/01/fleet-data-health-api-v1beta1</link>
            <guid>https://developers.trackunit.com/changelog/2025/05/01/fleet-data-health-api-v1beta1</guid>
            <pubDate>Thu, 01 May 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Released beta version v1beta1 of Fleet Data Health API. For more information, see the documentation and introduction of the endpoints.]]></description>
            <content:encoded><![CDATA[<p>Released beta version v1beta1 of Fleet Data Health API. For more information, see the documentation and introduction of the endpoints.</p>
<p>Below is a list of all available REST endpoints:</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="issue-api">Issue API<a href="https://developers.trackunit.com/changelog/2025/05/01/fleet-data-health-api-v1beta1#issue-api" class="hash-link" aria-label="Direct link to Issue API" title="Direct link to Issue API" translate="no">​</a></h2>
<blockquote>
<p>➕ GET: <code>/v1beta1/assets/{assetId}/issues</code></p>
</blockquote>
<p>Get issues by asset</p>
<blockquote>
<p>➕ GET: <code>/v1beta1/issues</code></p>
</blockquote>
<p>Get issues</p>
<blockquote>
<p>➕ GET: <code>/v1beta1/issues/{issueId}</code></p>
</blockquote>
<p>Get issues</p>]]></content:encoded>
            <category>Added</category>
        </item>
        <item>
            <title><![CDATA[Compaction App API v1]]></title>
            <link>https://developers.trackunit.com/changelog/2025/04/23/compaction-app-api-v1</link>
            <guid>https://developers.trackunit.com/changelog/2025/04/23/compaction-app-api-v1</guid>
            <pubDate>Wed, 23 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Released stable version v1 of Compaction API. For more information, see the documentation and introduction of the endpoints.]]></description>
            <content:encoded><![CDATA[<p>Released stable version v1 of Compaction API. For more information, see the documentation and introduction of the endpoints.</p>
<p>Below is a list of all available REST endpoints:</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="filter">Filter:<a href="https://developers.trackunit.com/changelog/2025/04/23/compaction-app-api-v1#filter" class="hash-link" aria-label="Direct link to Filter:" title="Direct link to Filter:" translate="no">​</a></h2>
<blockquote>
<p>➕ GET: <code>/api/compaction/v1/compactions/trips/{tripId}/filter</code></p>
</blockquote>
<p>Get Trip Filter</p>
<blockquote>
<p>➕ PUT: <code>/api/compaction/v1/compactions/trips/{tripId}/filter</code></p>
</blockquote>
<p>Update Trip Filter</p>
<blockquote>
<p>➕ DELETE: <code>/api/compaction/v1/compactions/trips/{tripId}/filter</code></p>
</blockquote>
<p>Delete Trip Filter</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="searches">Searches:<a href="https://developers.trackunit.com/changelog/2025/04/23/compaction-app-api-v1#searches" class="hash-link" aria-label="Direct link to Searches:" title="Direct link to Searches:" translate="no">​</a></h2>
<blockquote>
<p>➕ POST: <code>/api/compaction/v1/compactions/searches</code></p>
</blockquote>
<p>Create Saved Search</p>
<blockquote>
<p>➕ GET: <code>/api/compaction/v1/compactions/searches</code></p>
</blockquote>
<p>Get All Saved Searches</p>
<blockquote>
<p>➕ GET: <code>/api/compaction/v1/compactions/searches/{searchUUID}</code></p>
</blockquote>
<p>Get Saved Search</p>
<blockquote>
<p>➕ PUT: <code>/api/compaction/v1/compactions/searches/{searchUUID}</code></p>
</blockquote>
<p>Update Saved Search</p>
<blockquote>
<p>➕ DELETE: <code>/api/compaction/v1/compactions/searches/{searchUUID}</code></p>
</blockquote>
<p>Delete Saved Search</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="trips">Trips:<a href="https://developers.trackunit.com/changelog/2025/04/23/compaction-app-api-v1#trips" class="hash-link" aria-label="Direct link to Trips:" title="Direct link to Trips:" translate="no">​</a></h2>
<blockquote>
<p>➕ GET: <code>/api/compaction/v1/compactions/trips/{tripId}</code></p>
</blockquote>
<p>Get Compaction Trip</p>
<blockquote>
<p>➕ DELETE: <code>/api/compaction/v1/compactions/trips/{tripId}</code></p>
</blockquote>
<p>Delete Compaction Trip</p>
<blockquote>
<p>➕ GET: <code>/api/compaction/v1/compactions/trips/{tripId}/compactions</code></p>
</blockquote>
<p>Get Compaction Datapoints</p>
<blockquote>
<p>➕ GET: <code>/api/compaction/v1/compactions/trips/{tripId}/compactions/summarized</code></p>
</blockquote>
<p>Get Summarized Compaction</p>
<blockquote>
<p>➕ POST: <code>/api/compaction/v1/compactions/trips</code></p>
</blockquote>
<p>Get Compaction Trips</p>]]></content:encoded>
            <category>Added</category>
        </item>
        <item>
            <title><![CDATA[trackunit/iris-app v1.3.38 - NX upgraded to v20.5.0]]></title>
            <link>https://developers.trackunit.com/changelog/2025/03/18/iris-app-v1-3-38-nx-upgrade</link>
            <guid>https://developers.trackunit.com/changelog/2025/03/18/iris-app-v1-3-38-nx-upgrade</guid>
            <pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[In this version of our Iris App SDK, we have upgraded NX to v20.5.0.]]></description>
            <content:encoded><![CDATA[<p>In this version of our Iris App SDK, we have upgraded NX to v20.5.0.
Make sure to upgrade your extensions to the latest version of NX.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">npx nx migrate </span><span class="token number" style="color:#36acaa">20.5</span><span class="token plain">.0</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">npx nx migrate --run-migrations</span><br></div></code></pre></div></div>
<p>Please refer to <a href="https://developers.trackunit.com/docs/maintaining-your-app" target="_blank" rel="noopener noreferrer" class="">Maintaining Your Application</a> for more information.</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[trackunit/iris-app v1.3.36 - Node upgraded to v22.14.0]]></title>
            <link>https://developers.trackunit.com/changelog/2025/03/17/iris-app-v1-3-36-node-upgrade</link>
            <guid>https://developers.trackunit.com/changelog/2025/03/17/iris-app-v1-3-36-node-upgrade</guid>
            <pubDate>Mon, 17 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[In this version of the App SDK, we have upgraded Node to the current LTS version 22.14.0.]]></description>
            <content:encoded><![CDATA[<p>In this version of the App SDK, we have upgraded Node to the current LTS version 22.14.0.
Make sure to upgrade your workspace to at least Node v22.14.0.</p>
<p>If using volta, you can install the latest LTS version of Node by running:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">volta </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> node@lts</span><br></div></code></pre></div></div>
<p>Otherwise, you can download the latest LTS version of Node from the <a href="https://nodejs.org/en/" target="_blank" rel="noopener noreferrer" class="">Node.js website</a>.</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[CAN Faults API v1]]></title>
            <link>https://developers.trackunit.com/changelog/2025/03/13/can-faults-api-v1</link>
            <guid>https://developers.trackunit.com/changelog/2025/03/13/can-faults-api-v1</guid>
            <pubDate>Thu, 13 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Released stable version v1 of CAN Faults API. For more information, see the documentation and introduction of the endpoints.]]></description>
            <content:encoded><![CDATA[<p>Released stable version v1 of CAN Faults API. For more information, see the documentation and introduction of the endpoints.</p>
<p>Below is a list of all available REST endpoints:</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="faults">Faults:<a href="https://developers.trackunit.com/changelog/2025/03/13/can-faults-api-v1#faults" class="hash-link" aria-label="Direct link to Faults:" title="Direct link to Faults:" translate="no">​</a></h2>
<blockquote>
<p>➕ POST: /public/api/can-faults/faults</p>
</blockquote>
<p>Get faults</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="faults-summary">Faults Summary:<a href="https://developers.trackunit.com/changelog/2025/03/13/can-faults-api-v1#faults-summary" class="hash-link" aria-label="Direct link to Faults Summary:" title="Direct link to Faults Summary:" translate="no">​</a></h2>
<blockquote>
<p>➕ POST: /public/api/can-faults/faults-summary</p>
</blockquote>
<p>Get faults summary</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="simulated-fault">Simulated Fault:<a href="https://developers.trackunit.com/changelog/2025/03/13/can-faults-api-v1#simulated-fault" class="hash-link" aria-label="Direct link to Simulated Fault:" title="Direct link to Simulated Fault:" translate="no">​</a></h2>
<blockquote>
<p>➕ GET: /public/api/can-faults/simulated-faults/list</p>
</blockquote>
<p>Get simulatable faults</p>
<blockquote>
<p>➕ GET: /public/api/can-faults/simulated-faults/list/simulated</p>
</blockquote>
<p>Get simulated faults</p>
<blockquote>
<p>➕ POST: /public/api/can-faults/simulated-faults/resolve</p>
</blockquote>
<p>Resolve simulated fault</p>
<blockquote>
<p>➕ POST: /public/api/can-faults/simulated-faults/send</p>
</blockquote>
<p>Send simulated fault</p>
<blockquote>
<p>➕ GET: /public/api/can-faults/simulated-faults/summary</p>
</blockquote>
<p>Get simulated faults summary</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="unit-activefault">Unit ActiveFault:<a href="https://developers.trackunit.com/changelog/2025/03/13/can-faults-api-v1#unit-activefault" class="hash-link" aria-label="Direct link to Unit ActiveFault:" title="Direct link to Unit ActiveFault:" translate="no">​</a></h2>
<p>Get unit active faults</p>
<blockquote>
<p>➕ GET: /public/api/can-faults/get-unit-active-faults</p>
</blockquote>
<p>Get unit active faults</p>
<blockquote>
<p>➕ POST: /public/api/can-faults/get-unit-active-faults</p>
</blockquote>]]></content:encoded>
            <category>Added</category>
        </item>
        <item>
            <title><![CDATA[trackunit/iris-app v1.0.10 - NX upgraded to v20.4.0]]></title>
            <link>https://developers.trackunit.com/changelog/2025/01/30/iris-app-v1-0-10-nx-upgrade</link>
            <guid>https://developers.trackunit.com/changelog/2025/01/30/iris-app-v1-0-10-nx-upgrade</guid>
            <pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[In this version of our Iris App SDK, we have upgraded NX to v20.4.0.]]></description>
            <content:encoded><![CDATA[<p>In this version of our Iris App SDK, we have upgraded NX to v20.4.0.
Make sure to upgrade your extensions to the latest version of NX.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">npx nx migrate </span><span class="token number" style="color:#36acaa">20.4</span><span class="token plain">.0</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">npx nx migrate --run-migrations</span><br></div></code></pre></div></div>
<p>Please refer to <a href="https://developers.trackunit.com/docs/maintaining-your-app" target="_blank" rel="noopener noreferrer" class="">Maintaining Your Application</a> for more information.</p>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[trackunit/iris-app v0.0.5 - upgrade to rspack from webpack]]></title>
            <link>https://developers.trackunit.com/changelog/2025/01/14/upgrade-to-rspack-from-webpack</link>
            <guid>https://developers.trackunit.com/changelog/2025/01/14/upgrade-to-rspack-from-webpack</guid>
            <pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[In this version of our Iris App SDK we have added support for Rspack as well as the existing Webpack.]]></description>
            <content:encoded><![CDATA[<p>In this version of our Iris App SDK we have added support for Rspack as well as the existing Webpack.</p>
<blockquote>
<p>To read more on rspack, please visit the <a href="https://rspack.dev/" target="_blank" rel="noopener noreferrer" class="">rspack documentation</a>.</p>
</blockquote>
<blockquote>
<p>Iris apps created with <code>@trackunit/iris-app@0.0.5</code> should already have the required rspack configuration.</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rename-and-update-the-webpack-config-file">Rename and update the webpack config file<a href="https://developers.trackunit.com/changelog/2025/01/14/upgrade-to-rspack-from-webpack#rename-and-update-the-webpack-config-file" class="hash-link" aria-label="Direct link to Rename and update the webpack config file" title="Direct link to Rename and update the webpack config file" translate="no">​</a></h3>
<p>Rename the <code>webpack.config.ts</code> file to <code>rspack.config.ts</code> and update the file to use the rspack configuration.</p>
<p>For the new <code>rspack.config.ts</code> file, you shold change the following import:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">import { Configuration } from "webpack";</span><br></div></code></pre></div></div>
<p>Change to:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">import { Configuration } from "@rspack/core";</span><br></div></code></pre></div></div>
<p>The end result should look like the following:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">import { Configuration } from "@rspack/core";</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">export default (configuration: Configuration) =&gt; {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  return configuration;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">};</span><br></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="change-the-following-entries-in-targets-map-in-the-projectjson-file-of-your-iris-app">Change the following entries in <code>targets</code> map in the <code>project.json</code> file of your iris app.<a href="https://developers.trackunit.com/changelog/2025/01/14/upgrade-to-rspack-from-webpack#change-the-following-entries-in-targets-map-in-the-projectjson-file-of-your-iris-app" class="hash-link" aria-label="Direct link to change-the-following-entries-in-targets-map-in-the-projectjson-file-of-your-iris-app" title="Direct link to change-the-following-entries-in-targets-map-in-the-projectjson-file-of-your-iris-app" translate="no">​</a></h3>
<p>For the <code>build</code> target, change the following:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">    "executor": "@trackunit/iris-app:build",</span><br></div></code></pre></div></div>
<p>Change to:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">    "executor": "@trackunit/iris-app-sdk-rspack:build",</span><br></div></code></pre></div></div>
<p>For the <code>serve</code> target, change the following:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">    "executor": "@trackunit/iris-app:serve",</span><br></div></code></pre></div></div>
<p>Change to:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">    "executor": "@trackunit/iris-app-sdk-rspack:serve",</span><br></div></code></pre></div></div>
<p>Also change the <code>webpackConfig</code> option to point to the new <code>rspack.config.ts</code> file instead of the <code>webpack.config.ts</code> file, and rename it to <code>rspackConfig</code>.</p>
<p>The end result should look something like the following.</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">  ...</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  "build": {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "executor": "@trackunit/iris-app-sdk-rspack:build",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "options": { </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        "outputPath": "dist/apps/your_app", </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        "rspackConfig": "apps/your_app/rspack.config.ts" </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      },</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "outputs": ["{options.outputPath}"]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    },</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    "serve": {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "executor": "@trackunit/iris-app-sdk-rspack:serve",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "options": { </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">        "rspackConfig": "apps/your_app/rspack.config.ts" </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      },</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "outputs": ["{options.outputPath}"]</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    },</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    ...</span><br></div></code></pre></div></div>]]></content:encoded>
            <category>Improved</category>
        </item>
        <item>
            <title><![CDATA[Ownership & Visibility API]]></title>
            <link>https://developers.trackunit.com/changelog/2024/10/30/ownership-visibility-api</link>
            <guid>https://developers.trackunit.com/changelog/2024/10/30/ownership-visibility-api</guid>
            <pubDate>Wed, 30 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[New Section: The API for managing ownership and visibility of assets has been moved to its own dedicated section.]]></description>
            <content:encoded><![CDATA[<p><strong>New Section:</strong> The API for managing ownership and visibility of assets has been moved to its own dedicated section.</p>
<p><strong>Introduction Added:</strong> A comprehensive Introduction has been included to explain the key concepts involved in managing ownership and visibility of assets.</p>
<p><strong>Endpoints:</strong> The following endpoints are now available for managing ownership and visibility of assets:</p>
<p>List asset shares</p>
<p>Share assets</p>
<p>Unshare assets</p>
<p>Transfer assets</p>
<p>Remove visibility</p>]]></content:encoded>
            <category>Added</category>
        </item>
    </channel>
</rss>