> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kodus.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Latest Kodus updates and improvements.

<div className="kodus-changelog-shell">
  <div className="kodus-changelog-filter-sidebar">
    <div className="kodus-changelog-filter-panel" aria-label="Changelog filters">
      <p className="kodus-changelog-filter-heading">Filters</p>

      <div className="kodus-changelog-filter-options">
        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-security" />

          <span>Security</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-cockpit" />

          <span>Cockpit</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-byok" />

          <span>BYOK</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-ai-engine" />

          <span>AI Engine</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-self-hosted" />

          <span>Self-hosted</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-git-provider" />

          <span>GIT Provider</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-performance" />

          <span>Performance</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-ux-interface" />

          <span>UX & Interface</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-notifications" />

          <span>Notifications</span>
        </label>

        <label className="kodus-changelog-filter-button">
          <input className="kodus-changelog-filter-control" type="checkbox" id="kodus-filter-kody-rules" />

          <span>Kody Rules</span>
        </label>
      </div>
    </div>
  </div>

  <div className="kodus-changelog-release">
    <div className="kodus-changelog-meta">
      <span className="kodus-changelog-date">June 22, 2026</span>
    </div>

    <div className="kodus-changelog-content">
      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">What's new</div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-git-provider">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Forgejo support is now on par with GitHub & GitLab</div>
          <p className="kodus-changelog-copy">Review comments, commit statuses, force-push detection, and webhook coverage now work consistently for Forgejo repositories. If you self-host with Forgejo, Kody behaves just like on any other major platform.</p>
        </div>
      </div>

      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">Improvements</div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-performance">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Faster PR closing for large repos</div>
          <p className="kodus-changelog-copy">Eliminated duplicate API calls when syncing Kody Rules from changed files. PRs with many files now close noticeably faster.</p>
        </div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-ux-interface">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Cleaner settings UI</div>
          <p className="kodus-changelog-copy">Platform settings that don't apply to your current Git provider, such as GitHub-specific options when you're on GitLab, are now hidden automatically. Less clutter, fewer misconfigurations.</p>
        </div>
      </div>

      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">Bug fixes</div>

        <div className="kodus-changelog-fix-list">
          <div className="kodus-changelog-fix kodus-changelog-filterable filter-git-provider">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Reconnecting a Git provider after disconnecting:</strong> previously, disconnecting a provider left stale integration configs behind, causing reconnects to fail. Now stale rows are properly cleaned up.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-ai-engine">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Kody conversation replies with empty responses:</strong> resolved an issue where Kody occasionally replied with blank content in PR comment threads when using Claude Sonnet.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-ai-engine">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">NaN deduplication indices:</strong> added three-layer protection against NaN values appearing in suggestion deduplication indices, preventing rare but confusing duplicate suggestions.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-git-provider">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Forgejo prompt field always empty:</strong> the formatPromptForLLM function was reading a non-existent field on Forgejo PRs, causing the prompt section to be blank. Now it reads the correct field.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-self-hosted">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Self-hosted AST graph reliability:</strong> the kodus-graph CLI was installed but not available to the runtime user in self-hosted worker images. Fixed PATH and install order so graph indexing works out of the box.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-ai-engine">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Orphaned agent trace records:</strong> prevented a race condition in chunked review mode that could leave orphaned <code className="kodus-changelog-code">IN\_PROGRESS</code> trace records in the database.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-ux-interface">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Platform settings not scoped to Git tool:</strong> settings incompatible with your current Git provider were still visible. Now they're properly filtered based on the connected tool.</p>
          </div>
        </div>
      </div>

      <p className="kodus-changelog-empty">No changelog entries for this filter yet.</p>
    </div>
  </div>

  <div className="kodus-changelog-release">
    <div className="kodus-changelog-meta">
      <span className="kodus-changelog-date">June 15, 2026</span>
    </div>

    <div className="kodus-changelog-content">
      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">What's new</div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-cockpit">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Operational metrics in Cockpit</div>
          <p className="kodus-changelog-copy">Track the health of your review pipeline in real time. Throughput, queue, and processing time metrics are now available in Cockpit.</p>

          <video autoPlay loop muted playsInline preload="auto" className="kodus-changelog-video">
            <source src="https://mintcdn.com/kodus/7VSfjDYUK8FVdsW8/videos/cockpit.mp4?fit=max&auto=format&n=7VSfjDYUK8FVdsW8&q=85&s=b1ba0094bd326c51a218cf52464fa644" type="video/mp4" data-path="videos/cockpit.mp4" />
          </video>
        </div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-ai-engine">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Redesigned Kodus Review tab</div>
          <p className="kodus-changelog-copy">The review tab has been redesigned with a cleaner interface and more direct actions. You can now analyze and act on suggestions without leaving the PR screen.</p>

          <video autoPlay loop muted playsInline preload="auto" className="kodus-changelog-video">
            <source src="https://mintcdn.com/kodus/7VSfjDYUK8FVdsW8/videos/kody-review-tab.mp4?fit=max&auto=format&n=7VSfjDYUK8FVdsW8&q=85&s=725b1e80c015df1f9767b939b0a5b984" type="video/mp4" data-path="videos/kody-review-tab.mp4" />
          </video>
        </div>
      </div>

      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">Improvements</div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-self-hosted">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Backend on pnpm</div>
          <p className="kodus-changelog-copy">We migrated the backend from Yarn 1 to pnpm. This makes builds faster, improves lockfile consistency, and reduces cache issues across environments.</p>
        </div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-byok">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Token usage screen</div>
          <p className="kodus-changelog-copy">The token usage screen has been redesigned to make consumption by organization and period easier to understand. It is now simpler to track usage and see how tokens are being consumed over time.</p>

          <video autoPlay loop muted playsInline preload="auto" className="kodus-changelog-video">
            <source src="https://mintcdn.com/kodus/7VSfjDYUK8FVdsW8/videos/token-usage-redesign.mp4?fit=max&auto=format&n=7VSfjDYUK8FVdsW8&q=85&s=a757b3f3472d6fd21c418cd119078edd" type="video/mp4" data-path="videos/token-usage-redesign.mp4" />
          </video>
        </div>
      </div>

      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">Bug fixes</div>

        <div className="kodus-changelog-fix-list">
          <div className="kodus-changelog-fix kodus-changelog-filterable filter-self-hosted">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Self-hosted analytics:</strong> we fixed the analytics integration for self-hosted deployments. Usage metrics now appear correctly in the dashboard.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-ai-engine">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Issue cache:</strong> the issue count in the sidebar could sometimes become outdated. The cache is now invalidated correctly after changes.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-git-provider">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">GitHub rate limit:</strong> we fixed a rate limit issue in cloud E2E tests. We now use round-robin across multiple bot accounts to better distribute requests.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-notifications">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Notification routing:</strong> we fixed the behavior of targeted notifications when combined with audience settings. Notifications now reach the right people without duplicates.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-kody-rules">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Centralized config sync:</strong> we fixed issues in the centralized sync of Kody Rules configurations across repositories. Sync now correctly handles multiple scopes, stale configurations, and merge-triggered updates.</p>
          </div>
        </div>
      </div>

      <p className="kodus-changelog-empty">No changelog entries for this filter yet.</p>
    </div>
  </div>

  <div className="kodus-changelog-release">
    <div className="kodus-changelog-meta">
      <span className="kodus-changelog-date">June 8, 2026</span>
    </div>

    <div className="kodus-changelog-content">
      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">What's new</div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-ai-engine filter-byok">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Moonshot Kimi support for BYOK</div>
          <p className="kodus-changelog-copy">We added support for Moonshot as a provider, compatible with the Anthropic API.</p>
          <p className="kodus-changelog-copy">You can now use the Kimi Coding Plan model in BYOK setups. To configure it, set the <code className="kodus-changelog-code">API\_MOONSHOT\_API\_KEY</code> key and select the model in the organization preferences.</p>
          <p className="kodus-changelog-copy">See the <a className="kodus-changelog-link" href="https://docs.kodus.io/knowledge_base/en/how-to-use-moonshot-with-kodus">Moonshot (Kimi)</a> documentation for more setup details.</p>
        </div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-byok">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Monthly token usage control</div>
          <p className="kodus-changelog-copy">Organizations can now set monthly token consumption limits per model.</p>
          <p className="kodus-changelog-copy">Usage is shown in real time in the interface, with a progress bar. When usage reaches 80% of the limit, the team receives an email alert. If the limit is reached, additional reviews can be blocked automatically.</p>

          <video autoPlay loop muted playsInline preload="auto" className="kodus-changelog-video">
            <source src="https://mintcdn.com/kodus/DBHuk6f6YXfMSEEr/videos/token-usage.mp4?fit=max&auto=format&n=DBHuk6f6YXfMSEEr&q=85&s=4549a5a972641ba9886dd686d8e57cbb" type="video/mp4" data-path="videos/token-usage.mp4" />
          </video>

          <p className="kodus-changelog-copy">See the <a className="kodus-changelog-link" href="https://docs.kodus.io/how_to_use/en/spend-limit">Monthly Spend Limit</a> documentation for more setup details.</p>
        </div>
      </div>

      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">Improvements</div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-ai-engine">
          <div role="heading" aria-level="3" className="kodus-changelog-title">More resilient review agent</div>
          <p className="kodus-changelog-copy">The review engine now handles empty or malformed LLM responses better.</p>
          <p className="kodus-changelog-copy">This reduces loops in edge cases and helps ensure valid suggestions continue to be delivered even when the provider returns an unexpected response.</p>
        </div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-self-hosted">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Telemetry for self-hosted environments</div>
          <p className="kodus-changelog-copy">On-premise installations now automatically report health metrics, such as heartbeat, and usage data.</p>
          <p className="kodus-changelog-copy">The goal is to make diagnosis and support easier without exposing sensitive customer data.</p>
        </div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-ai-engine">
          <div role="heading" aria-level="3" className="kodus-changelog-title">Faster Kody Rules</div>
          <p className="kodus-changelog-copy">We improved the loading and synchronization of custom rules.</p>
          <p className="kodus-changelog-copy">We also fixed the count of orphaned rules and made partial updates safer against race conditions.</p>
        </div>

        <div className="kodus-changelog-item kodus-changelog-filterable filter-git-provider">
          <div role="heading" aria-level="3" className="kodus-changelog-title">GitLab compatibility improvements</div>

          <ul className="kodus-changelog-list">
            <li>Support for GitLab 13.x in comment webhooks</li>
            <li>Diff fallback for versions earlier than 15.7</li>
            <li>Fixes for discussion threads and replies scoped by discussionId</li>
            <li>Self-hosted development environment documentation</li>
          </ul>
        </div>
      </div>

      <div className="kodus-changelog-section">
        <div role="heading" aria-level="2" className="kodus-changelog-section-label">Fixes</div>

        <div className="kodus-changelog-fix-list">
          <div className="kodus-changelog-fix kodus-changelog-filterable filter-git-provider filter-security">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">GitHub:</strong> suspended users no longer appear in the member list for license assignment.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-git-provider">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Update Connection:</strong> integration reauthentication now correctly clears the previous configuration.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable filter-ai-engine">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Integration reset:</strong> Kody Rules linked to the repo/directory are now removed automatically.</p>
          </div>

          <div className="kodus-changelog-fix kodus-changelog-filterable">
            <p className="kodus-changelog-copy"><strong className="kodus-changelog-fix-label">Release Freeze:</strong> eligibility notifications only appear when the freeze is active.</p>
          </div>
        </div>
      </div>

      <p className="kodus-changelog-empty">No changelog entries for this filter yet.</p>
    </div>
  </div>
</div>

<div className="kodus-changelog-rss-source" aria-hidden="true">
  <Update label="June 22, 2026 - Forgejo support is now on par with GitHub & GitLab" tags={["GIT Provider"]}>
    Review comments, commit statuses, force-push detection, and webhook coverage now work consistently for Forgejo repositories. If you self-host with Forgejo, Kody behaves just like on any other major platform.
  </Update>

  <Update label="June 22, 2026 - Faster PR closing for large repos" tags={["Performance"]}>
    Eliminated duplicate API calls when syncing Kody Rules from changed files. PRs with many files now close noticeably faster.
  </Update>

  <Update label="June 22, 2026 - Cleaner settings UI" tags={["UX & Interface"]}>
    Platform settings that don't apply to your current Git provider, such as GitHub-specific options when you're on GitLab, are now hidden automatically. Less clutter, fewer misconfigurations.
  </Update>

  <Update label="June 22, 2026 - Reconnecting a Git provider after disconnecting" tags={["GIT Provider"]}>
    Previously, disconnecting a provider left stale integration configs behind, causing reconnects to fail. Now stale rows are properly cleaned up.
  </Update>

  <Update label="June 22, 2026 - Kody conversation replies with empty responses" tags={["AI Engine"]}>
    Resolved an issue where Kody occasionally replied with blank content in PR comment threads when using Claude Sonnet.
  </Update>

  <Update label="June 22, 2026 - NaN deduplication indices" tags={["AI Engine"]}>
    Added three-layer protection against NaN values appearing in suggestion deduplication indices, preventing rare but confusing duplicate suggestions.
  </Update>

  <Update label="June 22, 2026 - Forgejo prompt field always empty" tags={["GIT Provider"]}>
    The formatPromptForLLM function was reading a non-existent field on Forgejo PRs, causing the prompt section to be blank. Now it reads the correct field.
  </Update>

  <Update label="June 22, 2026 - Self-hosted AST graph reliability" tags={["Self-hosted"]}>
    The kodus-graph CLI was installed but not available to the runtime user in self-hosted worker images. Fixed PATH and install order so graph indexing works out of the box.
  </Update>

  <Update label="June 22, 2026 - Orphaned agent trace records" tags={["AI Engine"]}>
    Prevented a race condition in chunked review mode that could leave orphaned IN\_PROGRESS trace records in the database.
  </Update>

  <Update label="June 22, 2026 - Platform settings not scoped to Git tool" tags={["UX & Interface"]}>
    Settings incompatible with your current Git provider were still visible. Now they're properly filtered based on the connected tool.
  </Update>

  <Update label="June 15, 2026 - Operational metrics in Cockpit" tags={["Cockpit"]}>
    Track the health of your review pipeline in real time. Throughput, queue, and processing time metrics are now available in Cockpit.

    Video: [https://kodus.io/wp-content/uploads/2026/06/cockpit.mp4](https://kodus.io/wp-content/uploads/2026/06/cockpit.mp4)
  </Update>

  <Update label="June 15, 2026 - Redesigned Kodus Review tab" tags={["AI Engine"]}>
    The review tab has been redesigned with a cleaner interface and more direct actions. You can now analyze and act on suggestions without leaving the PR screen.

    Video: [https://kodus.io/wp-content/uploads/2026/06/kody-review-tab.mp4](https://kodus.io/wp-content/uploads/2026/06/kody-review-tab.mp4)
  </Update>

  <Update label="June 15, 2026 - Backend on pnpm" tags={["Self-hosted"]}>
    We migrated the backend from Yarn 1 to pnpm. This makes builds faster, improves lockfile consistency, and reduces cache issues across environments.
  </Update>

  <Update label="June 15, 2026 - Token usage screen" tags={["BYOK"]}>
    The token usage screen has been redesigned to make consumption by organization and period easier to understand. It is now simpler to track usage and see how tokens are being consumed over time.

    Video: [https://kodus.io/wp-content/uploads/2026/06/token\_usage.mp4](https://kodus.io/wp-content/uploads/2026/06/token_usage.mp4)
  </Update>

  <Update label="June 15, 2026 - Self-hosted analytics" tags={["Self-hosted"]}>
    We fixed the analytics integration for self-hosted deployments. Usage metrics now appear correctly in the dashboard.
  </Update>

  <Update label="June 15, 2026 - Issue cache" tags={["AI Engine"]}>
    The issue count in the sidebar could sometimes become outdated. The cache is now invalidated correctly after changes.
  </Update>

  <Update label="June 15, 2026 - GitHub rate limit" tags={["GIT Provider"]}>
    We fixed a rate limit issue in cloud E2E tests. We now use round-robin across multiple bot accounts to better distribute requests.
  </Update>

  <Update label="June 15, 2026 - Notification routing" tags={["Notifications"]}>
    We fixed the behavior of targeted notifications when combined with audience settings. Notifications now reach the right people without duplicates.
  </Update>

  <Update label="June 15, 2026 - Centralized config sync" tags={["Kody Rules"]}>
    We fixed issues in the centralized sync of Kody Rules configurations across repositories. Sync now correctly handles multiple scopes, stale configurations, and merge-triggered updates.
  </Update>

  <Update label="June 8, 2026 - Moonshot Kimi support for BYOK" tags={["AI Engine", "BYOK"]}>
    We added support for Moonshot as a provider, compatible with the Anthropic API.

    You can now use the Kimi Coding Plan model in BYOK setups. To configure it, set the API\_MOONSHOT\_API\_KEY key and select the model in the organization preferences.

    See the Moonshot Kimi documentation for more setup details: [https://docs.kodus.io/knowledge\_base/en/how-to-use-moonshot-with-kodus](https://docs.kodus.io/knowledge_base/en/how-to-use-moonshot-with-kodus)
  </Update>

  <Update label="June 8, 2026 - Monthly token usage control" tags={["BYOK"]}>
    Organizations can now set monthly token consumption limits per model.

    Usage is shown in real time in the interface, with a progress bar. When usage reaches 80% of the limit, the team receives an email alert. If the limit is reached, additional reviews can be blocked automatically.

    Video: [https://kodus.io/wp-content/uploads/2026/06/token-usage.mov](https://kodus.io/wp-content/uploads/2026/06/token-usage.mov)

    See the Monthly Spend Limit documentation for more setup details: [https://docs.kodus.io/how\_to\_use/en/spend-limit](https://docs.kodus.io/how_to_use/en/spend-limit)
  </Update>

  <Update label="June 8, 2026 - More resilient review agent" tags={["AI Engine"]}>
    The review engine now handles empty or malformed LLM responses better. This reduces loops in edge cases and helps ensure valid suggestions continue to be delivered even when the provider returns an unexpected response.
  </Update>

  <Update label="June 8, 2026 - Telemetry for self-hosted environments" tags={["Self-hosted"]}>
    On-premise installations now automatically report health metrics, such as heartbeat, and usage data. The goal is to make diagnosis and support easier without exposing sensitive customer data.
  </Update>

  <Update label="June 8, 2026 - Faster Kody Rules" tags={["AI Engine"]}>
    We improved the loading and synchronization of custom rules. We also fixed the count of orphaned rules and made partial updates safer against race conditions.
  </Update>

  <Update label="June 8, 2026 - GitLab compatibility improvements" tags={["GIT Provider"]}>
    Support for GitLab 13.x in comment webhooks.

    Diff fallback for versions earlier than 15.7.

    Fixes for discussion threads and replies scoped by discussionId.

    Self-hosted development environment documentation.
  </Update>

  <Update label="June 8, 2026 - GitHub member list fix" tags={["GIT Provider", "Security"]}>
    Suspended users no longer appear in the member list for license assignment.
  </Update>

  <Update label="June 8, 2026 - Update Connection fix" tags={["GIT Provider"]}>
    Integration reauthentication now correctly clears the previous configuration.
  </Update>

  <Update label="June 8, 2026 - Integration reset fix" tags={["AI Engine"]}>
    Kody Rules linked to the repo or directory are now removed automatically.
  </Update>

  <Update label="June 8, 2026 - Release Freeze fix">
    Eligibility notifications only appear when the freeze is active.
  </Update>
</div>

<script>
  {`
    (() => {
      const filterSelector = ".kodus-changelog-filter-control";
      const itemSelector = ".kodus-changelog-filterable";
      const sectionSelector = ".kodus-changelog-section";
      const releaseSelector = ".kodus-changelog-release";

      const applyChangelogFilters = () => {
          const root = document.querySelector(".kodus-changelog-shell");

          if (!root) {
              return;
          }

          const selectedFilters = Array.from(root.querySelectorAll(filterSelector))
              .filter((input) => input.checked)
              .map((input) => input.id.replace("kodus-filter-", "filter-"));

          const isFiltered = selectedFilters.length > 0;

          root.querySelectorAll(filterSelector).forEach((input) => {
              input.closest(".kodus-changelog-filter-button")?.classList.toggle("is-selected", input.checked);
          });

          root.querySelectorAll(itemSelector).forEach((item) => {
              const shouldShow = !isFiltered || selectedFilters.some((filter) => item.classList.contains(filter));
              item.hidden = !shouldShow;
          });

          root.querySelectorAll(sectionSelector).forEach((section) => {
              const hasVisibleItems = Array.from(section.querySelectorAll(itemSelector)).some((item) => !item.hidden);
              section.hidden = isFiltered && !hasVisibleItems;
          });

          root.querySelectorAll(releaseSelector).forEach((release) => {
              const hasVisibleItems = Array.from(release.querySelectorAll(itemSelector)).some((item) => !item.hidden);
              release.hidden = isFiltered && !hasVisibleItems;
          });
      };

      document.addEventListener("change", (event) => {
          if (event.target.matches(filterSelector)) {
              applyChangelogFilters();
          }
      });

      window.addEventListener("pageshow", applyChangelogFilters);
      requestAnimationFrame(applyChangelogFilters);
    })();
    `}
</script>
