---
title: Releases
description: What changed in each STACKIT deployment of Basenet, newest first.
sidebar:
  label: English
  hidden: true
slug: releases/page/75
---

> Nederlandse versie: [/releases/nl/page/75](/releases/nl/page/75)

Each version is `YY.C.N`: the year, the Linear cycle and the commit within that cycle. Generated at build time by `scripts/release-changelog.mjs`.

<nav class="release-pagination release-pagination--top" aria-label="Pagination">
<a class="release-pagination__prev" href="/releases/page/74">Previous</a>
<span class="release-pagination__indicator">Page 75 of 77</span>
<a class="release-pagination__next" href="/releases/page/76">Next</a>
</nav>

<div class="release-feed">
<section class="release-group release-group--deploy" id="v26-5-201">
<div class="release-group__meta">
<time datetime="2026-09-16T22:46:09Z">Sep 17, 2026</time>
<a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/69736e6313179b190916531855bf953abe761d88"><code>69736e6</code></a>
</div>
<div class="release-group__body">
<h2 class="release-group__version">26.5.201</h2>
<p class="release-group__note">Changes since 26.5.200.</p>
<ol class="release-entries">
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">web</span>
</div>
<h3 class="release-entry__title">Push dashboard actor/state predicates into SQL instead of JS</h3>
<p class="release-entry__summary">loadMyMatters, loadMyTasks, and loadBilling each fetched every active matter, every task, or every permitted invoice tenant-wide, then filtered to &quot;mine&quot; or &quot;concept&quot; in JS. Work grew with unrelated tenant records instead of the actor&#39;s own slice.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/951">#951</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/69736e6313179b190916531855bf953abe761d88"><code>69736e6</code></a></p>
</li>
</ol>
</div>
</section>
<section class="release-group release-group--deploy" id="v26-5-200">
<div class="release-group__meta">
<time datetime="2026-09-16T22:25:58Z">Sep 17, 2026</time>
<a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/0a11e41017896ce08b3546d0dc3e5ff0e745ac92"><code>0a11e41</code></a>
</div>
<div class="release-group__body">
<h2 class="release-group__version">26.5.200</h2>
<p class="release-group__note">Changes since 26.5.199.</p>
<ol class="release-entries">
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">workers</span>
</div>
<h3 class="release-entry__title">Give periodic jobs stable jobIds so replicas don&#39;t double-enqueue</h3>
<p class="release-entry__summary">apps/workers/src/main.ts kept cron state in a process-local Map and ticked on its own setInterval. Every enqueue() call passed only (queue, name, payload), no stable jobId, so BullMQ-level dedup never applied.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/957">#957</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/0a11e41017896ce08b3546d0dc3e5ff0e745ac92"><code>0a11e41</code></a></p>
</li>
</ol>
</div>
</section>
<section class="release-group release-group--deploy" id="v26-5-199">
<div class="release-group__meta">
<time datetime="2026-09-16T21:59:11Z">Sep 16, 2026</time>
<a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/4f76d07fbddcf964496351267d767885c70f4612"><code>4f76d07</code></a>
</div>
<div class="release-group__body">
<h2 class="release-group__version">26.5.199</h2>
<p class="release-group__note">Changes since 26.5.194.</p>
<ol class="release-entries">
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">application</span>
</div>
<h3 class="release-entry__title">Retry-then-log indexing failures on matter/relation create</h3>
<p class="release-entry__summary">createMatterCommand and createRelationCommand committed the durable row in a transaction, then awaited indexMatter/indexRelation outside it with no error handling.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/954">#954</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/4f76d07fbddcf964496351267d767885c70f4612"><code>4f76d07</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">integrations</span>
</div>
<h3 class="release-entry__title">Enforce deadlineAt as a real timeout on both model-gateway adapters</h3>
<p class="release-entry__summary">Both adapters validated that deadlineAt was present but never derived an actual timeout or AbortSignal from it. post() only ever forwarded the caller&#39;s own abortSignal; nothing was wired from deadlineAt.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/955">#955</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/7694712abbfe21a605df73d6b79234b5d6113151"><code>7694712</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">ci</span>
</div>
<h3 class="release-entry__title">Restore-verify actually restores into a scratch database</h3>
<p class="release-entry__summary">CI&#39;s &quot;Restore-verify&quot; step provisioned demo-kantoor, then immediately ran restore-verify.mjs against that same live tenant database. No backup, no restore, no scratch database, it just re-counted tables and roles in the database it had just created and called that &quot;verified&quot;.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/953">#953</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/4fe41b79757df42469314fd618994ecb0398ff22"><code>4fe41b7</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">ci</span>
</div>
<h3 class="release-entry__title">Raise LiteLLM&#39;s memory limit again, GitHub runner OOM-killed it at 1G</h3>
<p class="release-entry__summary">The model-gateway-conformance job (BLI-1392) hit the same exit-137 OOM-kill this container&#39;s memory limit was already tuned once for, this time on the GitHub-hosted CI runner rather than local Docker Desktop: litellm died ~8s after starting, before its healthcheck ever got a…</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/961">#961</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/609885ccf5740933c0d349711c545177c54a9a7c"><code>609885c</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">db</span>
</div>
<h3 class="release-entry__title">Populate invoiceById before reading it in the WIP hour scan</h3>
<p class="release-entry__summary">buildWipRealizationReport ran scanActiveMatterHours before scanActiveMatterInvoices.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/950">#950</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/40a947f7ac302984b7b1fa37b44081b300179687"><code>40a947f</code></a></p>
</li>
</ol>
</div>
</section>
<section class="release-group release-group--deploy" id="v26-5-194">
<div class="release-group__meta">
<time datetime="2026-09-16T21:01:05Z">Sep 16, 2026</time>
<a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/7ec5298e4a097b6df27e3eb12eafac15133e83c3"><code>7ec5298</code></a>
</div>
<div class="release-group__body">
<h2 class="release-group__version">26.5.194</h2>
<p class="release-group__note">Changes since 26.5.181.</p>
<ol class="release-entries">
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">chart,integrations</span>
</div>
<h3 class="release-entry__title">Bridge Helm&#39;s *_HOST vars to the *_URL vars factories read</h3>
<p class="release-entry__summary">The chart set VALKEY_HOST/OPENSEARCH_HOST; the factory functions read REDIS_URL/OPENSEARCH_URL and silently fell back to in-memory adapters when those were absent, in every environment including production, no error, no signal.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/946">#946</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/7ec5298e4a097b6df27e3eb12eafac15133e83c3"><code>7ec5298</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">residency</span>
</div>
<h3 class="release-entry__title">Cover MODEL_GATEWAY_PROXY_URL in the EU-residency gate</h3>
<p class="release-entry__summary">The runtime reads MODEL_GATEWAY_PROXY_URL, but the residency gate only mapped MODEL_GATEWAY_URL, so the proxy key fell through to the generic &quot;uncovered&quot; warning and a non-EU value never failed validate-residency.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/938">#938</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/610bf2affa855b0a1089e6b7f959a3268d609ca0"><code>610bf2a</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">portal</span>
</div>
<h3 class="release-entry__title">Fail closed in production on dev login previews and mock SMTP</h3>
<p class="release-entry__summary">shouldExposeDevMagicLink returned a usable token whenever the relay was mock or PORTAL_SHOW_DEV_MAGIC_LINK was set, with no check of the runtime profile. requestLoginLink put that token straight into the response returned to the browser, and defaulted PORTAL_BASE_URL to…</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/952">#952</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/5e4a53a8cab170d50fe02cbb59b48f8066df5311"><code>5e4a53a</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">application</span>
</div>
<h3 class="release-entry__title">Derive MCP create_matter flavor enum from MATTER_FLAVORS</h3>
<p class="release-entry__summary">The MCP create_matter proposal schema hardcoded a 4-value flavor enum (&#39;legal&#39;, &#39;debt_collection&#39;, &#39;insolvency&#39;, &#39;roll&#39;), missing tax_law and general that MATTER_FLAVORS already has and that api-contract&#39;s HTTP schema already accepts (and drift-guards).</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/949">#949</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/8f1ce96f51efe34223d59357bfa8dad34b80cf79"><code>8f1ce96</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">tenant-runtime</span>
</div>
<h3 class="release-entry__title">Invalidate in-flight acquisitions on evict, await disposal at shutdown</h3>
<p class="release-entry__summary">evict(key) only ever touched #live.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/948">#948</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/d676583761aa94d48ab1746cc86c1df7dd997b30"><code>d676583</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">admin</span>
</div>
<h3 class="release-entry__title">Revalidate tenant status at each mutating action, not just on pool miss</h3>
<p class="release-entry__summary">getTenantHandleForSlug only checked route.status !== &#39;active&#39; inside the resource pool&#39;s cache-miss create callback.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/947">#947</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/2fe3548caf29e8940f194cafbb31f9dca51aa4be"><code>2fe3548</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">ai</span>
</div>
<h3 class="release-entry__title">Count distinct identifiers newly anonymized per gateway invocation</h3>
<p class="release-entry__summary">anonymize() mutates and returns the same mapping reference it was given, and mapping.size is cumulative across the whole mapping, not a per-call delta. anonymizedCount += result.mapping.size - opts.mapping.size was therefore always x-x=0 when a caller supplied a mapping…</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/944">#944</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/734cdda5962bea228b495e2f009afec0c7ad8c3a"><code>734cdda</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">integrations</span>
</div>
<h3 class="release-entry__title">Reject transport redirects on the model-gateway adapters</h3>
<p class="release-entry__summary">Both the LiteLLM and direct (Anthropic) adapters approved a configured base URL, then relied on fetch&#39;s default redirect-following behavior on the shared post() call.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/943">#943</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/741cb57082f8febcb90121dd7fe7b799b4d6de77"><code>741cb57</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">integrations</span>
</div>
<h3 class="release-entry__title">Detect content-filter refusals on LiteLLM&#39;s non-streaming path</h3>
<p class="release-entry__summary">The streaming path already treats finish_reason: &#39;content_filter&#39; as a refusal.</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/942">#942</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/a633f6032931a1de33ea4be5504795bb448239ea"><code>a633f60</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">matters</span>
</div>
<h3 class="release-entry__title">Tolerate a withdrawn custom-select option on unchanged resave</h3>
<p class="release-entry__summary">MatterOverviewEditor always resends the full customValues map, including fields the user didn&#39;t touch. updateMatterCommand rejected any select value no longer in the field&#39;s current options — including a value that was valid when saved and is simply being resent unchanged —…</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/941">#941</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/339041233d1cff7fa7341cb94a75b7d1e8bdf639"><code>3390412</code></a></p>
</li>
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--fixed">Fixed</span>
<span class="release-entry__scope">api</span>
</div>
<h3 class="release-entry__title">Add billing:write scope so billing integrations can write invoices</h3>
<p class="release-entry__summary">apps/web/src/lib/api/scopes.ts declared billing:read but no billing:write, so every billing-family write had to borrow a scope from another module. matter.legal-aid.save (PUT /api/v1/matters/{id}/legal-aid) declared matters:write even though it gates on can(update, invoice) — a…</p>
<p class="release-entry__links"><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/939">#939</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/8fe6df8b4beffd2ce452df2e634134303fa9372b"><code>8fe6df8</code></a></p>
</li>
</ol>
</div>
</section>
<section class="release-group release-group--deploy" id="v26-5-181">
<div class="release-group__meta">
<time datetime="2026-09-16T18:58:27Z">Sep 16, 2026</time>
<a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/aef2488d330f7ab4cc048420b3521a725067e2a4"><code>aef2488</code></a>
</div>
<div class="release-group__body">
<h2 class="release-group__version">26.5.181</h2>
<p class="release-group__note">Changes since 26.5.177.</p>
<ol class="release-entries">
<li class="release-entry">
<div class="release-entry__head">
<span class="release-label release-label--new">New</span>
<span class="release-entry__scope">ui-vue,ui-core,icons</span>
</div>
<h3 class="release-entry__title">Cross-framework design system on Ark UI — POC foundation</h3>
<p class="release-entry__links"><a href="https://linear.app/blinqx/issue/BLI-1694">BLI-1694</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/pull/926">#926</a><a href="https://github.com/blinqx-hq/basenet-rebuild-poc/commit/e3f6919a57561a9b4748db08d030f3f343cb63a4"><code>e3f6919</code></a></p>
</li>
</ol>
</div>
</section>
<nav class="release-pagination" aria-label="Pagination">
<a class="release-pagination__prev" href="/releases/page/74">Previous</a>
<span class="release-pagination__indicator">Page 75 of 77</span>
<a class="release-pagination__next" href="/releases/page/76">Next</a>
</nav>
</div>
