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

# Changelog

> Keep up with the latest releases, improvements, and fixes.

<Update label="May 8, 2026" description="v1.75.1">
  <h2 style={{ fontSize: "2em", fontWeight: "bold" }}>Platform v1.75.1</h2>

  This release rounds out the AI coding governance story — the [AI Coding Foundation](/concepts/ai-coding-sessions) dashboard is now generally available, [`chainloop trace`](/guides/chainloop-trace) gains Cursor support, [salt](/reference/builtin-functions) reports gain SARIF output, and auto-remediation grows a remediability gate. Plus a redesigned integrations page, supply-chain-friendly CLI install dialog, and dozens of polish fixes.

  ## AI Coding Governance — From Adoption to Compliance

  Our recent [AI Coding Governance post](https://chainloop.dev/blog/ai-coding-governance-adoption-to-compliance/) walks through the four pillars Chainloop now provides for governing agentic coding: adoption visibility, framework-driven enforcement, developer integration on the PR, and the [AI Session Score](/reference/ai-score). This release advances each one — the [AI Coding Foundation](/concepts/ai-coding-sessions) dashboard is now available to every organization, and the surfaces around it keep maturing.

  <Frame>
    <iframe className="w-full aspect-video rounded-xl" src="https://www.tella.tv/video/vid_cmovrufpg00j404la2wgpam9y/embed?b=0&title=0&a=1&loop=0&t=0&muted=0&wt=0&o=1" title="Chainloop AI Coding dashboard" allow="autoplay; fullscreen" allowFullScreen />
  </Frame>

  **AI Coding Foundation Dashboard for Everyone** — The dashboard now ships to all organizations with a guided empty state, so new teams can see exactly what to instrument before sessions start flowing in. The layout has also been adapted to the flat SDLC structure for a cleaner, more navigable view alongside the rest of your delivery surfaces.

  **Frameworks, Controls, and Policies** — AI sessions and configs are first-class evidence, governed by the same framework / control / policy model used for SBOMs and container images. Auditors read frameworks (SLSA, NIST SSDF, AI Readiness); engineers ship the Rego.

  <Frame>
    <iframe className="w-full aspect-video rounded-xl" src="https://www.tella.tv/video/vid_cmovrz89u000h04ld0i34dvdq/embed?b=0&title=0&a=1&loop=0&t=0&muted=0&wt=0&o=1" title="AI Readiness framework, controls, and policies" allow="autoplay; fullscreen" allowFullScreen />
  </Frame>

  **Governance on the PR** — Every AI-assisted PR gets a summary comment with per-session attribution, files touched, and policy verdicts, plus a `Chainloop AI Policies` check run that can be made a required merge gate.

  <Frame>
    <iframe className="w-full aspect-video rounded-xl" src="https://www.tella.tv/video/vid_cmovsb7zu000504l73awj51i2/embed?b=0&title=0&a=1&loop=0&t=0&muted=0&wt=0&o=1" title="Chainloop PR summary comment and check run" allow="autoplay; fullscreen" allowFullScreen />
  </Frame>

  **Aggregated Sessions, with Scores and Policies in View** — Every AI session your org produces now rolls up into a single list with a detail sheet that surfaces transcripts, files touched, and per-session attribution. Session tabs show AI Score and policy counts at a glance, and a new AI Score trend chart on the dashboard tracks quality drift over time.

  **Cursor Joins the Party** — [`chainloop trace`](/guides/chainloop-trace) now recognizes Cursor as a trace provider alongside Claude Code. Mixed-tool teams get a unified picture without anyone changing how they work.

  **Smarter Auto-Remediation** — On-demand auto-remediation now gates on an AI remediability verdict — the platform only opens a fix PR when the assessment determines the issue can be safely and effectively resolved, cutting noise on findings that aren't a good fit for automation.

  **Getting Started** — Run `chainloop trace init` once per repo, commit the config, and AI sessions start flowing in. Full walkthrough in the [Chainloop Trace guide](/guides/chainloop-trace).

  <Frame>
    <iframe className="w-full aspect-video rounded-xl" src="https://www.tella.tv/video/vid_cmovtaekv00o004joflmn0aff/embed?b=0&title=0&a=1&loop=0&t=0&muted=0&wt=0&o=1" title="Getting started with chainloop trace" allow="autoplay; fullscreen" allowFullScreen />
  </Frame>

  ## SARIF Output with Posture Gaps and Attacker Mapping

  The new [`chainloop transform salt`](/command-line-reference/cli-reference) subcommand converts SALT reports into a normalized format for attestation, and now emits **SARIF output** enriched with posture gaps and attacker information — so security teams get exploitable context alongside the findings, not just a list of CVEs. The SARIF flavor plugs straight into the same code-scanning surfaces you already use.

  ## Redesigned Integrations Page

  The [integrations](/concepts/integrations) page has been rebuilt around a sheet-detail layout with per-integration documentation panels. Configuring, inspecting, and troubleshooting each integration now happens in context, without bouncing between tabs.

  <Frame>
    <img src="https://mintcdn.com/chainloop/mIKwbQ5PJnfOxX-U/changelog/integrations-redesign.png?fit=max&auto=format&n=mIKwbQ5PJnfOxX-U&q=85&s=377d8d1f8e433d6d952cf0de073bd44f" alt="Redesigned integrations page" width="1492" height="905" data-path="changelog/integrations-redesign.png" />
  </Frame>

  ## Verified CLI Installs

  The [CLI install dialog](/command-line-reference/cli-installation) now shows the pinned CLI version and binary checksums for the active release, so teams can verify what they're installing against a known-good artifact before running the command. Small UX change, meaningful supply-chain story.

  <Frame>
    <img src="https://mintcdn.com/chainloop/mIKwbQ5PJnfOxX-U/changelog/cli-install.png?fit=max&auto=format&n=mIKwbQ5PJnfOxX-U&q=85&s=e572ff610b698ef39803e38e69c9c3fe" alt="Pinned CLI version and checksums in install dialog" width="805" height="498" data-path="changelog/cli-install.png" />
  </Frame>

  <AccordionGroup>
    <Accordion title="More Improvements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>CLI-version-aware policy resolution</strong> — backend now resolves policies and policy groups against the CLI version producing the attestation, so contract evolution stays compatible with older clients<br />
        * <strong>Simplified policy usage examples</strong> — policy detail pages now show a single YAML usage example, dropping the JSON variant for clarity<br />
        * <strong>Manual SAML SSO authentication</strong> — log in directly with SAML credentials when the IdP doesn't push, complementing the [SAML SSO](/guides/deployment/guides/saml-idp) launch<br />
        * <strong>Responsive narrow viewports</strong> — frontend layout adapts cleanly on smaller screens and split panes<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="Bug Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <Badge color="orange" size="sm">CLI</Badge> AI attribution is now preserved across rebase and force-push operations<br />
        * <Badge color="orange" size="sm">CLI</Badge> Git hooks install in the common dir when working in git worktrees, so trace works across all worktree branches<br />
        * <Badge color="orange" size="sm">CLI</Badge> Git hook install always runs during agent session tracking<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Assessment actions are hidden from users with project-viewer permissions<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Edit button is disabled while an auto-assessment is running, preventing concurrent edits<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Auto-assessment button correctly shows disabled when no repository is linked<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Project version now appears in the workflow run breadcrumb<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Repository row in AI session detail sheet uses full width; padding above tabs removed<br />
        * <Badge color="blue" size="sm">Frontend</Badge> AI dashboard help link points to the AI Coding Sessions concept page<br />
        * <Badge color="blue" size="sm">Frontend</Badge> AI Score trend chart shows hours on the X axis for 24h ranges<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Compliance scroll tracking and latest-version badge contrast stabilized<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Duplicate policies header removed from workflow run details; warning badge contrast improved in light mode<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Vulnerability search filters guard against undefined fields; trusthub preview positioning fixed<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Help icon link added to products page; spurious comma removed from risk assessment status<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Compliance caches now purge synchronously on override mutations<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Compliance search hides frameworks with no matching results<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Auto-assessment is scoped to the affected artifact instead of the full project<br />
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="May 3, 2026" description="v1.73.1">
  <h2 style={{ fontSize: "2em", fontWeight: "bold" }}>Platform v1.73.1</h2>

  This release brings several improvements — a productized AI coding dashboard with PR-level reviews and scoring, a polished risk assessment workflow with discussions and on-demand auto-remediation, native SAML SSO login, the new Project Security v2 tab, plus expanded Slack notifications and findings access through both Rego and MCP.

  ## AI Coding Sessions — Dashboard, PR Reviews, and Scoring

  AI coding session tracking has graduated into a full product surface. A new AI Coding Foundation dashboard gives security and engineering leaders an organization-wide view of AI-assisted development, while PR comments now correlate AI sessions, surface policy violations inline, and flag PRs that are missing expected session evidence. The new [AI Score](/reference/ai-score) pipeline evaluates each session and assigns a AI Score to each pull request.

  <Frame>
    <iframe className="w-full aspect-video rounded-xl" src="https://www.tella.tv/video/vid_cmovrufpg00j404la2wgpam9y/embed?b=0&title=0&a=1&loop=0&t=0&muted=0&wt=0&o=1" title="Chainloop AI Coding dashboard" allow="autoplay; fullscreen" allowFullScreen />
  </Frame>

  **PR-Level Rollup Comments** — [`chainloop trace`](/guides/chainloop-trace) PR comments now render a table-style rollup linking the policies and materials evaluated for each AI session, with a dedicated check that fails when a PR is missing AI session evidence or when any session in the PR has a policy violation.

  <Frame>
    <img src="https://mintcdn.com/chainloop/K5vKOCcaSEvJQ3GP/changelog/ai-session-pr-comment.png?fit=max&auto=format&n=K5vKOCcaSEvJQ3GP&q=85&s=59a3e1b9fd66295967c70fa733e10545" alt="AI Session Analysis PR comment" width="813" height="356" data-path="changelog/ai-session-pr-comment.png" />
  </Frame>

  **Commit-msg Hook for Trailers** — A new commit-msg hook automatically declares AI session trailers on commits, so attestations pick up the right session even when sessions span multiple commits.

  **Smarter Code Attribution** — Trace now ignores generated code in attribution counts, persists per-session file changes and commits, and respects `.gitattributes` linguist-generated rules so vendored or generated paths don't skew metrics.

  ## AI Risk Assessment Workflow

  Risk assessments are now a first-class workflow with collaboration, revisions, and remediation. Reviewers can leave [discussions](/guides/vulnerability-management) on assessments, request revisions, and gate approval on AI-generated recommendations. A re-assess button lets you refresh an assessment when context changes, and on-demand auto-remediation can open a PR with the suggested fix when the project has a linked repository.

  <Frame>
    <img src="https://mintcdn.com/chainloop/K5vKOCcaSEvJQ3GP/changelog/risk-assessment.png?fit=max&auto=format&n=K5vKOCcaSEvJQ3GP&q=85&s=ee9d0a3fb3ebd9b7c4c1916441f7a729" alt="AI Risk Assessment Workflow" width="697" height="854" data-path="changelog/risk-assessment.png" />
  </Frame>

  **Slack Loop** — Reviewers get pinged in Slack when an assessment needs review, and again when auto-remediation opens a PR — closing the loop without leaving the channel.

  <Frame>
    <img src="https://mintcdn.com/chainloop/K5vKOCcaSEvJQ3GP/changelog/slack-assessment-review.png?fit=max&auto=format&n=K5vKOCcaSEvJQ3GP&q=85&s=534bc667ad9cc39ad14249ef10951b7a" alt="Slack assessment review notification" width="1348" height="720" data-path="changelog/slack-assessment-review.png" />
  </Frame>

  **Failed Auto-Assessments Surfaced** — Failed AI assessments are now visible directly in the risk assessment UI so they don't disappear silently.

  ## SAML SSO Login

  Chainloop Platform now supports Enterprise-level SSO through [SAML](/guides/deployment/guides/saml-idp) against your corporate identity provider.

  <Frame>
    <img src="https://mintcdn.com/chainloop/K5vKOCcaSEvJQ3GP/changelog/saml-sso-login.png?fit=max&auto=format&n=K5vKOCcaSEvJQ3GP&q=85&s=430c7fc72b46317ba84089d8d8f9f6b7" alt="SAML SSO Login" width="412" height="231" data-path="changelog/saml-sso-login.png" />
  </Frame>

  ## Project Security v2

  The redesigned [project security tab](/guides/vulnerability-management) is now the default for organizations on the labs track, with the legacy view still available side-by-side during the transition. Active-finding filters, summary tiles that link straight to filtered views, and a vulnerability management help link make triage faster.

  <Frame>
    <img src="https://mintcdn.com/chainloop/K5vKOCcaSEvJQ3GP/changelog/security-v2.png?fit=max&auto=format&n=K5vKOCcaSEvJQ3GP&q=85&s=ba1368662dd97d994bc47de1ed701901" alt="Project Security v2" width="913" height="318" data-path="changelog/security-v2.png" />
  </Frame>

  ## Findings, MCP, and Notifications

  Findings are now first-class across the platform. A new [`chainloop.findings`](/reference/builtin-functions) Rego builtin lets you reference findings directly from policies, and the [MCP server](/reference/mcp-server) exposes findings to AI assistants.

  <Frame>
    <img src="https://mintcdn.com/chainloop/K5vKOCcaSEvJQ3GP/changelog/findings-mcp.png?fit=max&auto=format&n=K5vKOCcaSEvJQ3GP&q=85&s=c9e3a630289963ef4d1b18297e4a62a2" alt="Findings, MCP, and Notifications" width="1842" height="1452" data-path="changelog/findings-mcp.png" />
  </Frame>

  **High-Severity Slack Alerts** — New high-severity findings now trigger Slack [notifications](/concepts/notifications), and `FINDING_CREATED` events are deduplicated across project versions so you stop getting paged twice for the same issue.

  <AccordionGroup>
    <Accordion title="More Improvements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>SonarQube transform command</strong> — new <code>chainloop transform sonarqube</code> CLI command converts SonarQube reports into a normalized format for attestation<br />
        * <strong>Login page revamp</strong> — refreshed login layout with a marketing hero, available alongside the new SSO entry point<br />
        * <strong>Provenance tab on workflow runs</strong> — drill into the full provenance graph from any <a href="/concepts/workflows">workflow</a> run view<br />
        * <strong>GitHub PR labels persisted</strong> — PR labels are now stored alongside attestation events for downstream filtering and audit<br />
        * <strong>SCM provider in PR audit logs</strong> — pull request <a href="/reference/audit-logs">audit log</a> events now record which SCM provider triggered them<br />
        * <strong>Auto-onboarding email domain filter</strong> — restrict static auto-onboarding to specific email domains for tighter org control<br />
        * <strong>Force trace attestation org</strong> — pin a <a href="/guides/chainloop-trace"><code>chainloop trace</code></a> attestation to a specific organization via <code>.chainloop.yml</code><br />
        * <strong>Dry-run validation upgrades</strong> — CLI `apply --dry-run` now performs batch duplicate detection, offline validation, and validates policy group references against batch requirements<br />
        * <strong>Workflow form simplified</strong> — visibility and team fields removed from workflow creation; entity names normalized across creation forms<br />
        * <strong>Unified entity summaries</strong> — consistent summary cards and detail-sheet layouts across projects, products, workflows, and runs<br />
        * <strong>Standardized form buttons</strong> — submit buttons now use a consistent "Save" label and right-aligned positioning across the app<br />
        * <strong>Detail tab titles and descriptions</strong> — tab views on detail pages now include explanatory titles and descriptions<br />
        * <strong>Restyled product evidence and requirements</strong> — refreshed visuals for product evidence tables and requirement evaluations<br />
        * <strong>Clickable risk summary cards</strong> — risk assessment summary cards now navigate directly to filtered views<br />
        * <strong>Shallow artifacts from SBOM metadata</strong> — the platform now creates lightweight artifact records from SBOM metadata for graph completeness<br />
        * <strong>Legacy Slack webhook hidden</strong> — the legacy webhook configuration is hidden when the native Slack App <a href="/concepts/integrations">integration</a> is enabled<br />
        * <strong>Claude CLI model selection</strong> — pick a specific Claude model for AI coding agents via provider config<br />
        * <strong>Manual evidence reset</strong> — accepted manual evidence can be returned to "needs review" status<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="Bug Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <Badge color="gray" size="sm">Backend</Badge> Service accounts can now list policies and requirements<br />
        * <Badge color="gray" size="sm">Backend</Badge> Auto-admin membership is correctly skipped when projects are created by service accounts<br />
        * <Badge color="gray" size="sm">Backend</Badge> AI coding session trace summaries now count distinct files correctly<br />
        * <Badge color="gray" size="sm">Backend</Badge> Empty <code>approval\_status</code> on cached evaluations now defaults to approved<br />
        * <Badge color="gray" size="sm">Backend</Badge> GitHub PR webhook events now reach all orgs bound to the installation, with reconciliation using the correct installation<br />
        * <Badge color="gray" size="sm">Backend</Badge> Notification fan-out is decoupled from release pinning to avoid missed alerts<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Framework and requirement ingestion now validates inputs and preserves section hierarchy<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Dry-run apply on a fresh org no longer fails when policy groups reference batch requirements<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Manual evidence is now correctly counted only when approved; the "all submissions approved" rule is enforced for compliance checks<br />
        * <Badge color="blue" size="sm">Frontend</Badge> AI session file counts display 0 instead of NaN when no files are present<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Storage backend creation form now pre-selects the default role<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Framework copy action now copies the identifier instead of the display name<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Security tab defaults to labs when labs is available; non-admin access restored<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Applicability matrix dialog no longer overflows its content<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Markdown tooltips that caused infinite re-render loops have been removed<br />
        * <Badge color="red" size="sm">Contracts</Badge> <code>CHAINLOOP\_AI\_CODING\_SESSION</code> added to the API <a href="/concepts/material-types">MaterialType</a> enum<br />
        * <Badge color="orange" size="sm">CLI</Badge> Policy group to policy reference validation in dry-run<br />
        * <Badge color="orange" size="sm">CLI</Badge> <code>.gitattributes</code> compatibility with go-git<br />
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="April 19, 2026" description="v1.66.0">
  <h2 style={{ fontSize: "2em", fontWeight: "bold" }}>Platform v1.66.0</h2>

  A smoother AI session viewer with inline code attribution and virtualized conversation rendering, plus compliance workflow refinements.

  ## AI Session Viewer Improvements

  The [AI session viewer](/guides/chainloop-trace) has been refined across the board — long conversations no longer stutter, and you can now see exactly which lines each model touched without leaving the session view.

  **Inline Per-Line Code Attribution** — The session viewer now shows line-level attribution inline alongside each file change, so you can trace any line back to the AI session that produced it without switching views.

  **Virtualized Conversation View** — Long AI sessions with thousands of tool calls now scroll smoothly — the conversation view renders messages on demand instead of all at once.

  <Frame>
    <img src="https://mintcdn.com/chainloop/qGv9r_hxgpxoulip/changelog/ai-session-viewer.png?fit=max&auto=format&n=qGv9r_hxgpxoulip&q=85&s=b9d39c472da2984b711c163ac3adbd9f" alt="AI Session Viewer" width="878" height="914" data-path="changelog/ai-session-viewer.png" />
  </Frame>

  <AccordionGroup>
    <Accordion title="Policy Enhancements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>frontend SBOM policy</strong> — now allows permissive custom licenses<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="More Improvements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>Force evidence and override review</strong> — new organization setting requires reviewer approval for manual evidence and overrides<br />
        * <strong>Grouped policies in requirement evaluation</strong> — policies from the same <a href="/concepts/policy-groups">policy group</a> and their manual evidence are now displayed together in the requirement evaluation sheet<br />
        * <strong>Reset manual evidence</strong> — accepted manual evidence can now be returned to "needs review" status<br />
        * <strong>Needs-review filters and badges</strong> — filter by needs-review extended to manual evidence, with matching badges in requirement detail sheets<br />
        * <strong>Compliance refresh recalculates everything</strong> — triggering a compliance refresh now re-evaluates every requirement<br />
        * <strong>Large JSON evidence rendering</strong> — the evidence viewer can now render large JSON payloads smoothly<br />
        * <strong>Workflow list and details pages restyled</strong> — updated visuals for <a href="/concepts/workflows">workflow</a> list and run detail views<br />
        * <strong><a href="/concepts/vulnerability-management">Risk assessment</a> audit log</strong> — extended with more detail, and <code>target\_type</code> filter fixed<br />
        * <strong>Renamed finding field</strong> — <code>source\_reference</code> renamed to <code>recommendation</code> on <a href="/concepts/vulnerability-management">findings</a> for clarity<br />
        * <strong>CLI: trace defaults to latest project version</strong> — no more flag required for incremental attestations<br />
        * <strong>CLI: trace logs hook output</strong> — all hook messages are now written to the trace log file for easier debugging<br />
        * <strong>Updated Claude model pricing table</strong> — cost calculations in <a href="/guides/chainloop-trace">trace</a> reflect the latest model pricing<br />
        * <strong>Dismissible SaaS Cloud banners</strong> — free trial and restricted account banners can now be dismissed<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="Bug Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <Badge color="purple" size="sm">Compliance</Badge> Compliance percentage calculation corrected<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Deleted overrides no longer counted in requirement evaluations<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Product framework compliance now polls periodically to stay in sync<br />
        * <Badge color="purple" size="sm">Compliance</Badge> <a href="/concepts/vulnerability-management">Finding</a> deduplication and assessment accuracy improved<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Manual evidence in "needs review" now correctly treated as partial<br />
        * <Badge color="green" size="sm">Policies</Badge> Policy group update sheet layout fixed<br />
        * <Badge color="green" size="sm">Policies</Badge> Duplicate policy detection now scoped to the same group<br />
        * <Badge color="red" size="sm">Contracts</Badge> Contract detail page now shows the latest version after update<br />
        * <Badge color="orange" size="sm">CLI</Badge> Policy group apply dependency order corrected<br />
        * <Badge color="orange" size="sm">CLI</Badge> GitLab fetcher no longer crashes on permission errors<br />
        * <Badge color="orange" size="sm">CLI</Badge> Trace now detects deletion-only commits as AI-assisted<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Monaco editor autocomplete restored in the contract editor<br />
        * <Badge color="blue" size="sm">Frontend</Badge> JSON viewer always pretty-prints evidence payloads<br />
        * <Badge color="blue" size="sm">Frontend</Badge> API token modal now uses an accessible AlertDialog<br />
        * <Badge color="yellow" size="sm">UX</Badge> Notification controls refined for clearer state<br />
        * <Badge color="yellow" size="sm">UX</Badge> Repositories import page layout improved<br />
        * <Badge color="yellow" size="sm">UX</Badge> Yellow tooltip icons for needs-review requirements<br />
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="April 7, 2026" description="v1.58.0">
  <h2 style={{ fontSize: "2em", fontWeight: "bold" }}>Platform v1.58.0</h2>

  AI coding session tracing with line-level attribution, native Slack and GitLab App integrations, compliance OR-groups, and a comprehensive UI refresh.

  ## AI Coding Session Tracing

  [`chainloop trace`](/guides/chainloop-trace) has been significantly upgraded — the attestation workflow now defers to push time for more reliable capture, the Git backend has been migrated to go-git for broader compatibility, and project versions are automatically passed through to attestations.

  **Line-Level Code Attribution** — Trace now captures line-level code attribution for AI coding sessions, giving security teams granular visibility into exactly which lines of code were written or modified by AI agents versus human developers.

  <Frame>
    <img src="https://mintcdn.com/chainloop/dMekO89KbHAjgDxm/changelog/ai-trace.png?fit=max&auto=format&n=dMekO89KbHAjgDxm&q=85&s=139a4f90264837fc917649791e7c2c50" alt="AI Coding Session Tracing" width="724" height="297" data-path="changelog/ai-trace.png" />
  </Frame>

  ## Native Slack App Integration

  Connect your Slack workspace directly to Chainloop with the new native Slack App [integration](/concepts/integrations). Once connected, you can pick specific channels for [notifications](/concepts/notifications) — no more configuring webhook URLs manually.

  <Frame>
    <img src="https://mintcdn.com/chainloop/dMekO89KbHAjgDxm/changelog/slack-app.png?fit=max&auto=format&n=dMekO89KbHAjgDxm&q=85&s=13f95cd33ca907229a1408b195af23b4" alt="Native Slack App Integration" width="821" height="550" data-path="changelog/slack-app.png" />
  </Frame>

  **Channel Picker** — Browse and select Slack channels from a searchable dropdown directly in the notification settings UI.

  **Rich Notifications** — The Slack App supports structured notification messages with actionable context about attestation events, policy violations, and compliance updates.

  ## GitLab App Integration

  Chainloop now supports a native GitLab App integration for connecting your GitLab repositories. This complements the existing GitHub integration and enables teams using GitLab to benefit from the same repository-project linking, [keyless attestations](/guides/gitlab-keyless), and source control visibility.

  <Frame>
    <img src="https://mintcdn.com/chainloop/dMekO89KbHAjgDxm/changelog/gitlab-app.png?fit=max&auto=format&n=dMekO89KbHAjgDxm&q=85&s=43cbff0b293659e6a6aeb7043356752e" alt="GitLab App Integration" width="605" height="306" data-path="changelog/gitlab-app.png" />
  </Frame>

  ## UI Refresh

  This release brings a comprehensive visual refresh across the platform — redesigned tables, tabs, buttons, inputs, badges, and sheet layouts for a more polished experience.

  <Frame>
    <img src="https://mintcdn.com/chainloop/dMekO89KbHAjgDxm/changelog/ui-refresh.png?fit=max&auto=format&n=dMekO89KbHAjgDxm&q=85&s=902209b0db6769a81ce0eb8428434f34" alt="UI Refresh" width="1319" height="725" data-path="changelog/ui-refresh.png" />
  </Frame>

  **Policies Page** — The [policies](/concepts/policies) page now uses a grid cell layout, and policies and policy groups are split into separate pages for easier navigation.

  **Frameworks Page** — The [compliance frameworks](/concepts/compliance-frameworks) page has been reworked to match the new policies list style.

  **Workflow Run Page** — Updated styling for the workflow run detail view.

  **Sidebar** — Hover over the collapsed sidebar to preview navigation items without expanding it.

  <AccordionGroup>
    <Accordion title="More Improvements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>Drag-and-drop evidence upload</strong> — Upload evidence files by dragging and dropping them directly into the upload area<br />
        * <strong>CLI download link in top nav</strong> — Quickly access the CLI download from the top navigation bar<br />
        * <strong>Better CLI auth error handling</strong> — Clearer error messages when authentication fails<br />
        * <strong>Repository filtering</strong> — Filter repositories by provider kind and project association<br />
        * <strong>Breadcrumb improvements</strong> — Sheet routes now appear in breadcrumbs with updated styling<br />
        * <strong>Search debounce</strong> — Search inputs across all pages now debounce for smoother performance<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="Bug Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <Badge color="purple" size="sm">Compliance</Badge> Framework sections now update correctly in the Compliance view<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Contracts now filtered by project in workflow creation form<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Linked artifacts panel now uses full-size layout instead of nested sheet<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Long descriptions truncated in findings list<br />
        * <Badge color="blue" size="sm">Frontend</Badge> TOC scroll tracking fixed in projects and products<br />
        * <Badge color="gray" size="sm">Backend</Badge> Monthly-scoped evidence, artifact, and deployment counts corrected<br />
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="March 29, 2026" description="v1.51.0">
  <h2 style={{ fontSize: "2em", fontWeight: "bold" }}>Platform v1.51.0</h2>

  AI agent governance with 9+ built-in policies, Ask Chainloop natural language assistant, per-project authorization for keyless attestations, rich evidence visualization, and compliance approval workflows.

  ## AI Agent Configuration Governance

  As AI coding agents like Claude Code and Cursor become part of the development workflow, their configuration — instruction files, MCP servers, skills, subagents, and permissions — becomes part of your supply chain. Chainloop now automatically discovers and collects this configuration from your repositories, bundling it into tamper-resistant evidence via a new `CHAINLOOP_AI_AGENT_CONFIG` [material type](/concepts/material-types).

  <Frame>
    <img src="https://mintcdn.com/chainloop/TuwOf09Gj_ULBd98/changelog/ai-agent-config.png?fit=max&auto=format&n=TuwOf09Gj_ULBd98&q=85&s=cb58d1511c1546df9b5c9894e12554b7" alt="AI Agent Configuration Governance" width="1746" height="1836" data-path="changelog/ai-agent-config.png" />
  </Frame>

  This gives security teams visibility into how AI agents are set up across the organization — detecting hardcoded secrets in configurations, enforcing allowlists for approved MCP servers, validating instruction quality, and preventing privilege escalation in subagent configurations.

  This release ships with **12 built-in [AI governance policies](/reference/policies)** covering MCP server allowlists, instruction quality, subagent permissions, architecture documentation, and more — see the full list in the New Policies section below.

  <Frame>
    <img src="https://mintcdn.com/chainloop/TuwOf09Gj_ULBd98/changelog/ai-agent-policies.png?fit=max&auto=format&n=TuwOf09Gj_ULBd98&q=85&s=a3b967a6fac983339dc0780506a6a552" alt="AI Agent Governance Policies" width="2000" height="1320" data-path="changelog/ai-agent-policies.png" />
  </Frame>

  Read the [collection guide](/guides/ai-config-collector) to get started, or see the [full blog post](https://chainloop.dev/blog/agentic-coding-support/) for the vision behind AI agent governance in your supply chain.

  ## Ask Chainloop

  [Ask Chainloop](/concepts/ask-chainloop) is a native natural language interface embedded directly in the web UI. It goes beyond simple data discovery — you can browse your organization's supply chain data, query compliance status, write [policies](/concepts/policies), create [contracts](/concepts/contracts), configure your instance, and more. Press `Cmd+K` (or `Ctrl+K`) to open it from any page.

  <Frame>
    <img src="https://mintcdn.com/chainloop/TuwOf09Gj_ULBd98/changelog/ask-chainloop.png?fit=max&auto=format&n=TuwOf09Gj_ULBd98&q=85&s=41bd6772d8cea7a41e585996707b9304" alt="Ask Chainloop" width="1600" height="1958" data-path="changelog/ask-chainloop.png" />
  </Frame>

  ## Repository-Project Linking & Keyless RBAC

  [Keyless attestations](/guides/github-keyless) can now be configured with authorization per project. Enrolled repositories must be connected to a project for keyless attestations to be accepted — giving security teams fine-grained control over which CI/CD pipelines can produce evidence for each project. This means different repositories can have different access levels, and attestations from repositories not linked to a project are rejected automatically. See the [GitHub keyless](/guides/github-keyless) and [GitLab keyless](/guides/gitlab-keyless) guides to get started.

  <Frame>
    <img src="https://mintcdn.com/chainloop/TuwOf09Gj_ULBd98/changelog/repo-project-linking.png?fit=max&auto=format&n=TuwOf09Gj_ULBd98&q=85&s=cb3f4ae2b1945d9e85c82f900b5fcc78" alt="Repository-Project Linking" width="2000" height="282" data-path="changelog/repo-project-linking.png" />
  </Frame>

  ## Rich Evidence Visualization

  Browse the content of your [evidence](/concepts/material-types) directly in the platform — no downloads required. New rich viewers let you inspect container image details, pull request metadata, AI agent configuration, and more without leaving the interface.

  **Container Images** — View pull commands (by tag and digest), provenance, and deployment history directly from the material panel.

  <Frame>
    <img src="https://mintcdn.com/chainloop/TuwOf09Gj_ULBd98/changelog/evidence-content-viewer-container.png?fit=max&auto=format&n=TuwOf09Gj_ULBd98&q=85&s=cefe9288a3c6fc4046de2e1ee860011c" alt="Container Image Content Viewer" width="1750" height="838" data-path="changelog/evidence-content-viewer-container.png" />
  </Frame>

  **Pull Request Info** — See PR details including branch info, reviewers, approval status, and bot detection — all rendered inline from `CHAINLOOP_PR_INFO` materials.

  <Frame>
    <img src="https://mintcdn.com/chainloop/TuwOf09Gj_ULBd98/changelog/evidence-content-viewer-pr.png?fit=max&auto=format&n=TuwOf09Gj_ULBd98&q=85&s=2fd6f46556906f037b175d557d1649d6" alt="Pull Request Info Content Viewer" width="1752" height="1134" data-path="changelog/evidence-content-viewer-pr.png" />
  </Frame>

  **AI Agent Configuration** — Browse collected AI agent configuration files, instructions, rules, and skills directly in the evidence panel.

  <Frame>
    <img src="https://mintcdn.com/chainloop/TuwOf09Gj_ULBd98/changelog/evidence-content-viewer-ai-config.png?fit=max&auto=format&n=TuwOf09Gj_ULBd98&q=85&s=cdfc0dda2329bca5b6cb4d3f573aed9d" alt="AI Agent Configuration Content Viewer" width="1756" height="1262" data-path="changelog/evidence-content-viewer-ai-config.png" />
  </Frame>

  ## Compliance Override & Approval Workflows

  The [compliance](/concepts/compliance-frameworks) override system now supports uploading evidence files as part of the override process — along with a full approval workflow and visual status indicators. Teams can also require approval for manually submitted evidence before it's used in [compliance evaluations](/concepts/compliance-frameworks), ensuring that manual submissions are validated before being incorporated into your attestation process.

  <Frame>
    <img src="https://mintcdn.com/chainloop/TuwOf09Gj_ULBd98/changelog/compliance-approval.png?fit=max&auto=format&n=TuwOf09Gj_ULBd98&q=85&s=e78b80fdbefcc19e6e39a40d0c68d3c8" alt="Compliance Override & Approval Workflows" width="1030" height="378" data-path="changelog/compliance-approval.png" />
  </Frame>

  <AccordionGroup>
    <Accordion title="New Policies and Policy Groups">
      <div style={{ fontSize: "0.75em" }}>
        * <strong><a href="/reference/policies">ai-agent-present</a></strong> — Detect AI agent presence via configuration materials or bot reviewers on PRs<br />
        * <strong><a href="/reference/policies">ai-config-architecture-with-paths</a></strong> — Verify instruction files describe project architecture<br />
        * <strong><a href="/reference/policies">ai-config-code-style-specificity</a></strong> — Require concrete, project-specific code style rules<br />
        * <strong><a href="/reference/policies">ai-config-mcp-servers-allowed</a></strong> — Ensure only approved MCP integrations are configured<br />
        * <strong><a href="/reference/policies">ai-config-skill-descriptions-actionable</a></strong> — Ensure skills describe what they do and when to use them<br />
        * <strong><a href="/reference/policies">ai-config-subagent-descriptions-actionable</a></strong> — Require subagent descriptions with trigger, scope, and purpose<br />
        * <strong><a href="/reference/policies">ai-config-subagent-permissions-scope</a></strong> — Verify no subagent sets permissionMode to bypass permissions or declares MCP servers absent from parent<br />
        * <strong><a href="/reference/policies">ai-instructions-commands-documented</a></strong> — Require exact, executable commands instead of vague instructions<br />
        * <strong><a href="/reference/policies">ai-instructions-doc-guidance</a></strong> — Verify instruction files reference documentation practices<br />
        * <strong><a href="/reference/policies">ai-instructions-explicit-boundaries</a></strong> — Require explicit behavioral boundaries for agent actions<br />
        * <strong><a href="/reference/policies">ai-instructions-git-workflow-documented</a></strong> — Verify git workflow conventions are documented<br />
        * <strong><a href="/reference/policies">ai-instructions-gotchas</a></strong> — Require project-specific gotchas and edge cases to be documented<br />
        * <strong><a href="/reference/branch-protection-policies">tag-deletion-blocked</a></strong> — Ensure tag deletion is blocked, with optional tag pattern filtering<br />
        * <strong><a href="/reference/branch-protection-policies">tag-force-push-blocked</a></strong> — Prevent tag manipulation attacks by blocking force pushes on tags<br />
        * <strong><a href="/reference/branch-protection-policies">tag-rules-change-restricted</a></strong> — Validate only authorized actors can bypass tag protection rules<br />
        * <strong><a href="/reference/branch-protection-policies">patch-policy-present</a></strong> — Ensure patch management policies are in place for repository management<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="More Improvements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>GitHub App Integration</strong> — The GitHub App is now visible on the [Integrations](/concepts/integrations) page for easier discovery and setup<br />
        * <strong>UI Refresh</strong> — Redesigned sidebar with updated Phosphor icons, new page headers and titles, and sheets rendered inside the main content area<br />
        * <strong>Needs review filter</strong> — The [compliance](/concepts/compliance-frameworks) view now includes a "needs review" filter for faster triage<br />
        * <strong>Details tab first</strong> — The material sidebar now shows the Details tab by default<br />
        * <strong>MCP environment & deployment tools</strong> — New [MCP server](/reference/mcp-server) tools for querying environments and deployments<br />
        * <strong>Enhanced PR info viewer</strong> — Better pull request information display with flexible author format support<br />
        * <strong>GitHub immutable releases</strong> — The CLI gatherer now detects GitHub immutable releases in [runner context](/reference/runner-context)<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="Bug Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <Badge color="purple" size="sm">Compliance</Badge> Preserved framework ordering in project versions for consistent compliance reporting<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Reset approved overrides to needs\_review status when new evidence is submitted<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Added missing material types to evidence list filter<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Corrected manual evidence approval flow and status display<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Fixed sidebar and sticky element positioning after layout changes<br />
        * <Badge color="green" size="sm">Policies</Badge> Prevented pass summaries from appearing as violations in evidence-prompt evaluations<br />
        * <Badge color="red" size="sm">Contracts</Badge> Updated tag-protection to use v\*\* glob pattern for proper version matching<br />
        * <Badge color="gray" size="sm">Backend</Badge> Corrected project version link format in MCP server<br />
        * <Badge color="gray" size="sm">Backend</Badge> Fixed MCP server environment URL generation<br />
        * <Badge color="gray" size="sm">Backend</Badge> Sanitized internal LLM provider errors in chat responses<br />
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="March 12, 2026" description="v1.38.2">
  <h2 style={{ fontSize: "2em", fontWeight: "bold" }}>Platform v1.38.2</h2>

  ## Keyless Attestations for GitHub

  Chainloop now supports [keyless attestations](/guides/github-keyless) for GitHub Actions — no API tokens required. Onboard your GitHub repositories into Chainloop, and your workflows can attest using GitHub's OIDC tokens automatically. The CLI discovers the GitHub OIDC token at runtime, so there's nothing to configure. This eliminates token management overhead and unlocks [SLSA 3](/guides/slsa) compliance checks by default, just like the existing [GitLab keyless](/guides/gitlab-keyless) support.

  <Frame>
    <img src="https://mintcdn.com/chainloop/5EbdCXlXGjX3gMNX/guides/img/github.png?fit=max&auto=format&n=5EbdCXlXGjX3gMNX&q=85&s=144d1f6812dc6e3b899e5eda460e005b" alt="Keyless Attestations for GitHub" width="1376" height="768" data-path="guides/img/github.png" />
  </Frame>

  ## Product Management Commands

  You can now create, update, and organize [products](/concepts/products) directly from the CLI — bringing full product lifecycle management into your terminal and automation scripts. Combined with [`chainloop apply`](/guides/declarative-resource-management), this enables GitOps-style product configuration alongside your existing [workflow](/concepts/workflows) and [contract](/concepts/contracts) definitions.

  <Frame>
    <img src="https://mintcdn.com/chainloop/g-XEHATeLuO3v2Z0/changelog/product-commands.png?fit=max&auto=format&n=g-XEHATeLuO3v2Z0&q=85&s=3106cbecd1a6a7613a481a185d11a4ae" alt="Product Management Commands" width="916" height="567" data-path="changelog/product-commands.png" />
  </Frame>

  ## Compliance Approval Workflows

  Introducing approval workflows for [compliance](/concepts/compliance-frameworks) overrides at both the [product](/concepts/products) and [project](/concepts/projects-versions) level. Teams can now request structured exceptions to compliance requirements — with approvals tracked, auditable, and tied back to the evidence that justifies them. This gives security and compliance teams visibility and control over deviations without blocking delivery.

  <Frame>
    <img src="https://mintcdn.com/chainloop/g-XEHATeLuO3v2Z0/changelog/status-approvals.png?fit=max&auto=format&n=g-XEHATeLuO3v2Z0&q=85&s=3672127e708388ef53d56d653959af38" alt="Compliance Approval Workflows" width="767" height="629" data-path="changelog/status-approvals.png" />
  </Frame>

  ## Manual Evidence with Justification

  You can now submit manual evidence entries with justification-only content — no artifact upload required. This is especially useful for documenting compliance activities like risk acceptances, design reviews, or exception approvals where the evidence is a written rationale rather than a file.

  <Frame>
    <img src="https://mintcdn.com/chainloop/g-XEHATeLuO3v2Z0/changelog/manual-evidence-justification.png?fit=max&auto=format&n=g-XEHATeLuO3v2Z0&q=85&s=6feae54dee11802174d3f8125c20dc6c" alt="Manual Evidence with Justification" width="2180" height="1054" data-path="changelog/manual-evidence-justification.png" />
  </Frame>

  ## Requirement Reordering

  You can now reorder requirements within custom [compliance frameworks](/concepts/compliance-frameworks) — giving you full control over how your compliance structure is presented and navigated. Drag requirements into the order that makes sense for your team's review process.

  <Frame>
    <img src="https://mintcdn.com/chainloop/g-XEHATeLuO3v2Z0/changelog/req-sorting.png?fit=max&auto=format&n=g-XEHATeLuO3v2Z0&q=85&s=9f86f85704d22227cfe7a9529848f8bc" alt="Requirement Reordering" width="1376" height="768" data-path="changelog/req-sorting.png" />
  </Frame>

  <AccordionGroup>
    <Accordion title="More Improvements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>Rego syntax highlighting</strong> — Code blocks now include full syntax highlighting for the Rego [policy](/concepts/policies) language<br />
        * <strong>CLI download dialog</strong> — A new download dialog in [workflow](/concepts/workflows) runs makes it easier to install the CLI directly from the interface<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="Bug Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <Badge color="gray" size="sm">Backend</Badge> Enabled API token access for apply operations<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Prevented navbar shift when dropdown menus open<br />
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="March 09, 2026" description="v1.36.0">
  <h2 style={{ fontSize: "2em", fontWeight: "bold" }}>Platform v1.36.0</h2>

  ## Environments & Deployment Tracking

  Chainloop now supports [Artifact Deployment Tracking](/concepts/deployments) — record which artifacts are running in which [environments](/concepts/environments) and build a live view of what's deployed across your organization. Define infrastructure targets (Kubernetes clusters, ECS services, bare-metal servers), map them to lifecycle stages like `development`, `staging`, and `production`, and let Chainloop automatically track deployment history with superseding and decommissioning. Because every deployment record is linked back to [attestations](/concepts/attestations) and evidence, you can trace any running artifact to the workflow that built it and the provenance that backs it.

  <Frame>
    <img src="https://mintcdn.com/chainloop/W6ZtFMaSiWeLxY5-/changelog/deployment-tracking.png?fit=max&auto=format&n=W6ZtFMaSiWeLxY5-&q=85&s=d7ab4d9cacba8fdf7757a7ba845ca85a" alt="Deployment Tracking" width="1376" height="768" data-path="changelog/deployment-tracking.png" />
  </Frame>

  ## New MCP Server Tools

  The [Chainloop MCP server](/reference/mcp-server) now includes `list_contracts` and `describe_contract` tools — making it possible for AI agents and development workflows to discover and inspect [workflow contracts](/concepts/contracts) directly. This brings contract management into AI-assisted automation, so teams can query contract schemas, materials, and policy attachments without leaving their AI toolchain.

  <Frame>
    <img src="https://mintcdn.com/chainloop/W6ZtFMaSiWeLxY5-/changelog/mcp_1.png?fit=max&auto=format&n=W6ZtFMaSiWeLxY5-&q=85&s=3fc4dacf21caf8853a31234e48e509d0" alt="MCP Server Tools" width="1376" height="768" data-path="changelog/mcp_1.png" />
  </Frame>

  With these tools, you can retrieve any contract's full declarative representation — including its materials, policies, policy groups, and runner configuration — directly from an AI assistant or automated workflow. Whether you're auditing a release gate, reviewing what evidence a pipeline collects, or building tooling on top of Chainloop, the contract schema is now just a tool call away.

  <Frame>
    <img src="https://mintcdn.com/chainloop/W6ZtFMaSiWeLxY5-/changelog/gate-info.png?fit=max&auto=format&n=W6ZtFMaSiWeLxY5-&q=85&s=5e5d66ed7031c7f831e83d93552a2bab" alt="Gate Info" width="1024" height="572" data-path="changelog/gate-info.png" />
  </Frame>

  ## Product-Level Compliance Overrides

  [Compliance policies](/concepts/compliance-frameworks) can now be overridden at the [product](/concepts/products) level — giving you more granular control over how compliance requirements are applied across your organization. This is especially useful when different products have distinct regulatory needs while sharing a common baseline.

  <Frame>
    <img src="https://mintcdn.com/chainloop/W6ZtFMaSiWeLxY5-/changelog/product-compliance-overrides.png?fit=max&auto=format&n=W6ZtFMaSiWeLxY5-&q=85&s=9703e4e3b1419ba66cd6ba9665606b59" alt="Product-Level Compliance Overrides" width="1376" height="768" data-path="changelog/product-compliance-overrides.png" />
  </Frame>

  <AccordionGroup>
    <Accordion title="More Improvements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>Breadcrumb navigation</strong> — Added throughout the platform to help you navigate between organizations, projects, and connected resources<br />
        * <strong>Positional requirement ordering</strong> — [Framework](/concepts/compliance-frameworks) requirements now support positional ordering for more control over compliance structure<br />
        * <strong>UI polish</strong> — Better description truncation for long text, compliance coverage preview moved into the [policies](/concepts/policies) section, and improved dark mode hover contrast on tables and dropdowns<br />
        * <strong>[Policy](/concepts/policies) management</strong> — Builtin policy content is now hidden in CLI describe output for cleaner results, and [policy group](/concepts/policy-groups) describe commands support output schema formatting<br />
      </div>
    </Accordion>
  </AccordionGroup>

  <AccordionGroup>
    <Accordion title="Bug Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <Badge color="blue" size="sm">Frontend</Badge> Fixed duplicate policy groups appearing when filtering<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Fixed deployment history filtering to properly show results by logical environment<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Fixed broken buttons in contract editing, member management, and organization creation pages<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Applied proper prettier formatting in project and deployment detail views<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Resolved multiple UI bugs and display issues<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Prevented unnecessary requirement version creation when apply input is unchanged<br />
        * <Badge color="green" size="sm">Policies</Badge> Prevented builtin policies from being exposed inappropriately<br />
        * <Badge color="orange" size="sm">CLI</Badge> Removed builtin content from requirement and framework describe command outputs<br />
        * <Badge color="gray" size="sm">Backend</Badge> Updated MCP contract schema to follow Kubernetes-style formatting standards<br />
        * <Badge color="gray" size="sm">Backend</Badge> Added User-Agent header support for CORS<br />
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="March 04, 2026" description="v1.34.0">
  <h2 style={{ fontSize: "2em", fontWeight: "bold" }}>Platform v1.34.0</h2>

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/platform-v1.34.0.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=e87fcd798e3df602a8196df1cfa9c401" alt="Platform v1.34.0" width="2495" height="1797" data-path="changelog/platform-v1.34.0.png" />
  </Frame>

  ## UI/UX Improvements

  We've been investing heavily in the frontend experience. Our component library has been upgraded to a more compact, modern design system, and we've reworked key surfaces — from empty states to the org selector and dark mode — all to reduce visual noise while keeping the information you need front and center.

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/ui-ux-improvements.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=1ab941a5e2609b0730b0c7d8c99a49db" alt="UI/UX Improvements" width="3840" height="2160" data-path="changelog/ui-ux-improvements.png" />
  </Frame>

  **Global Search** — A new global search experience lets you quickly find workflows, projects, frameworks, requirements and other resources across your organization from anywhere in the app. Try it out with `CMD + K` or by clicking the search button in the top navbar.

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/global-search.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=46747a6ea656f2536ea7705582dce3ed" alt="Global Search" width="618" height="415" data-path="changelog/global-search.png" />
  </Frame>

  **Version Selector** — A redesigned version selector with dedicated **prerelease** and **release** tabs makes it easier to navigate between versions and understand what's promoted vs. in progress.

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/version-selector-v1.34.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=f50466f488560d544a0fcd52091984dc" alt="Version Selector" width="268" height="313" data-path="changelog/version-selector-v1.34.png" />
  </Frame>

  **Filtering Across All Lists** — All list pages now offer consistent filtering options, making it easier to find and organize your workflows, projects, and resources — no matter how large your organization grows

  <Frame>
    <img src="https://mintcdn.com/chainloop/TfDVUk62AihOXgkj/changelog/filtering-sorting.png?fit=max&auto=format&n=TfDVUk62AihOXgkj&q=85&s=1c620caae9c6398f7c1a2fa2df4cbd3a" alt="Filtering & Sorting" width="814" height="332" data-path="changelog/filtering-sorting.png" />
  </Frame>

  **Contracts Diff** — You can now see differences between [contract](/concepts/contracts) revisions at a glance, making it easier to understand what changed between versions.

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/contracts-diff.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=ad38cab336eed2ed64dd27465f9f16d7" alt="Contracts Diff" width="1369" height="704" data-path="changelog/contracts-diff.png" />
  </Frame>

  **Compliance Coverage (Preview)** — An early preview of compliance coverage is now available, showing how your project maps [against compliance frameworks and requirements](/concepts/compliance-frameworks#requirement-coverage-preview). This feature is being actively developed and will be rolling out to all users soon.

  **Easier Policy Evaluation Analysis** — [Policy evaluations](/concepts/policies) are now easier to analyze: advanced filtering helps you quickly focus on passed, failed, or skipped policies, and multiple skip reasons or violations are collapsed for a cleaner view.

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/policy-evaluation-analysis.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=cce8497d7b1767902e33dd7f51d2d443" alt="Policy Evaluation Analysis" width="1323" height="665" data-path="changelog/policy-evaluation-analysis.png" />
  </Frame>

  **CLI Install Script** — The platform now serves a pre-configured CLI install script, so new users can get started with a single command — no manual endpoint configuration needed. Get your CLI with a single click, it is available in the help menu under "About Chainloop"

  <Frame>
    <img src="https://mintcdn.com/chainloop/mIKwbQ5PJnfOxX-U/changelog/cli-install.png?fit=max&auto=format&n=mIKwbQ5PJnfOxX-U&q=85&s=e572ff610b698ef39803e38e69c9c3fe" alt="CLI Install Script" width="805" height="498" data-path="changelog/cli-install.png" />
  </Frame>

  ## Declarative Frameworks and Requirements

  We extended declarative support to [frameworks](/concepts/compliance-frameworks), requirements, and [policy groups](/concepts/policy-groups). You can now export any resource as declarative counterparts and manage it programmatically from the CLI.

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/declarative-frameworks.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=b72dced5e312f7f86c5f9665595e6084" alt="Declarative Frameworks" width="1480" height="1186" data-path="changelog/declarative-frameworks.png" />
  </Frame>

  We've also introduced a top-level `chainloop apply` command for local or CI automation to enable GitOps operations. For more information, refer to our [CLI reference](https://docs.chainloop.dev/command-line-reference/cli-ee-reference).

  ## Agentic Policies Support

  Agentic policies use AI to evaluate supply chain evidence with natural-language prompts. Define what to check in plain English — Chainloop sends the evidence to your configured LLM provider and returns violations, cryptographically signed into the attestation.

  Use the built-in `evidence-prompt` policy for a zero-code experience, or call `chainloop.evidence_prompt` from custom policies for more control. Read more in the [LLM Policies guide](/guides/llm-policies).

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/agentic-policies.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=cbc0802aed1e094a1b66fd6f6d49ca65" alt="Agentic Policies" width="875" height="409" data-path="changelog/agentic-policies.png" />
  </Frame>

  ```yaml theme={"dark"}
  apiVersion: chainloop.dev/v1
  kind: Contract
  metadata:
    name: check-build
  spec:
    policies:
      attestation:
        - ref: evidence-prompt
          with:
            prompt: "Check that all container images referenced in this attestation come from a trusted registry (e.g. ghcr.io or docker.io/chainloop)"
      materials:
        - ref: evidence-prompt
          with:
            prompt: "Analyze this SBOM and report any components with non-OSS compatible licenses such as AGPL, SSPL, or proprietary licenses"
    materials:
      - type: SBOM_CYCLONEDX_JSON
        name: my-sbom
  ```

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/agentic-policies-result.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=f485a6a08e46eeba830baec0ff7fdf8f" alt="Agentic Policies Result" width="1316" height="362" data-path="changelog/agentic-policies-result.png" />
  </Frame>

  Our enterprise customers can use their own LLM provider by bringing an API key and configuring an [LLM integration](/concepts/integrations). Chainloop supports Anthropic and OpenAI (including OpenAI on Microsoft Foundry); see the [LLM support reference](/reference/llm-support) for details.

  <Frame>
    <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/llm-integration.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=51ed13af2913c8039466c7aa4e1a6074" alt="LLM Integration" width="1100" height="210" data-path="changelog/llm-integration.png" />
  </Frame>

  ## Policy Engine Improvements

  The policy engine is the core of Chainloop's control and quality gate capabilities. Our SDK comes packed with new features:

  * [Attestation phases](/concepts/policies#attestation-phases) let you control when attestation-level policies are evaluated during the attestation lifecycle.
  * [Policy-level gate override](/concepts/policies#configuring-enforcement) — The `gate` property in policy attachments now supports `gate: false` to explicitly disable enforcement for a specific policy, overriding the organization-wide control gate setting.
  * [`chainloop.download_artifact`](/reference/builtin-functions#chainloopdownload_artifact) — A Rego builtin function that downloads an artifact from Chainloop's CAS directly into the policy evaluation context.

  <AccordionGroup>
    <Accordion title="New Policies and Policy Groups">
      <div style={{ fontSize: "0.75em" }}>
        - <strong>evidence-prompt</strong> — Prompts for evidence collection on materials, supports non-digest materials, evaluates only during PUSH phase<br />
        - <strong>owasp-top10-2025</strong> — OWASP Top 10 updated to the 2025 edition, with SARIF and CodeQL report support<br />
        - <strong>cwes-group</strong> — Groups CWE-related policies (CWE Top 25, CWE Top 26-40) for easier adoption<br />
      </div>
    </Accordion>

    <Accordion title="Policy Enhancements">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>cwe-top25 / cwe-top26-40-cusp</strong> — Added CodeQL report support<br />
        * <strong>pr-user-story-linked</strong> — Now also detects issue references in branch names, not just PR body<br />
        * <strong>iac-misconfiguration</strong> — Added severity filtering to control which severity levels trigger violations<br />
        * <strong>check-compliance-requirement</strong> — Can now filter by framework name<br />
      </div>
    </Accordion>
  </AccordionGroup>

  ## API Token Auto-Revocation

  You can now [configure API Token Auto-Revocation](/reference/api-tokens#auto-revocation-of-inactive-tokens), which automatically revokes API tokens that haven't been used within a configurable period, reducing the risk of long-lived, forgotten tokens.

  ## Signed Manual Evidence Receipt

  All manually provided evidence is now signed, attested, and tamper-resistant — just like evidence collected from CI/CD automation. You can download a [signed attestation receipt](/reference/signing) for any manual evidence and verify it using the Chainloop CLI.

  <img src="https://mintcdn.com/chainloop/eYsUp9wEzLWnMZ9J/changelog/signed-manual-evidence.png?fit=max&auto=format&n=eYsUp9wEzLWnMZ9J&q=85&s=88014b633fa9767e45fc48190314146c" alt="Signed Manual Evidence" width="874" height="261" data-path="changelog/signed-manual-evidence.png" />

  ```bash theme={"dark"}
  $ chainloop attestation verify --bundle ~/Downloads/f156d02.json
  INF attestation verified successfully
  ```

  <AccordionGroup>
    <Accordion title="Bug Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <Badge color="purple" size="sm">Compliance</Badge> Corrected compliance scores to exclude expired workflow runs<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Resolved policy groups with bindings not syncing in contracts<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Addressed contracts sync failing when importing empty params<br />
        * <Badge color="purple" size="sm">Compliance</Badge> Restricted check-compliance-requirement to run only at INIT phase<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Sorted product list to show newest first<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Enabled workflow list items to wrap on smaller screens<br />
        * <Badge color="blue" size="sm">Frontend</Badge> Resolved empty workflow runs incorrectly redirecting to API token management<br />
        * <Badge color="orange" size="sm">CLI</Badge> Resolved broken `policy devel` function<br />
        * <Badge color="yellow" size="sm">UX</Badge> Improved confusing freshness wording<br />
        * <Badge color="green" size="sm">Policies</Badge> Preserved escaped patterns on policy args<br />
        * <Badge color="red" size="sm">Contracts</Badge> Ensured contract name from schema v2 is respected<br />
        * <Badge color="red" size="sm">Contracts</Badge> Enabled org tokens to create contracts<br />
        * <Badge color="gray" size="sm">Backend</Badge> Resolved contract scope to use project name instead of UUID<br />
        * <Badge color="gray" size="sm">Backend</Badge> Prevented CAS redirection URL from being returned when CAS is not valid<br />
        * <Badge color="gray" size="sm">Backend</Badge> Ensured project version is promoted after attestation push<br />
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="February 22, 2026">
  * **Guide: [How to run LLM-driven policies](/guides/llm-policies)** - New guide covering how to use AI-powered prompts to evaluate evidence and attestations, including the built-in `evidence-prompt` policy and custom Rego policies with `chainloop.evidence_prompt`.
</Update>

<Update label="February 19, 2026">
  * **AI-powered evidence evaluation in policies**: New [`chainloop.evidence_prompt`](/reference/builtin-functions#chainloop-evidence_prompt) builtin function for Rego policies. Evaluate evidence such as SBOMs or SARIF reports using AI-powered analysis directly within your policy rules.
</Update>

<Update label="February 10, 2026">
  * **Download attestation for manual evidence**: You can now download the attestation for manual evidence from the evaluation views.
      <img src="https://mintcdn.com/chainloop/6KFWW4vejAL7FeK5/changelog/download-attestation-for-manual-evidence.png?fit=max&auto=format&n=6KFWW4vejAL7FeK5&q=85&s=c34c79932046ea10791a61ba87ef5cae" alt="Download Attestation for Manual Evidence" width="759" height="281" data-path="changelog/download-attestation-for-manual-evidence.png" />
</Update>

<Update label="February 10, 2026">
  * **Manual evidence in products**: You can now provide manual evidence from the products view, making it easier to track compliance at the product level.
      <img src="https://mintcdn.com/chainloop/6KFWW4vejAL7FeK5/changelog/manual-evidence-in-products.png?fit=max&auto=format&n=6KFWW4vejAL7FeK5&q=85&s=7851637e44f473472f092e06f9ed9df8" alt="Manual Evidence in Products" width="1019" height="401" data-path="changelog/manual-evidence-in-products.png" />
</Update>

<Update label="February 9, 2026">
  * **Instance Admin API tokens**: New EE CLI feature that allows the creation of Instance-level API tokens for the provisioning and configuration of organizations. Create new instance admin tokens with (needs user with [instance-admin privileges](/guides/deployment/guides/restrict-org-creation#step-2-configure-instance-admins-in-the-chainloop-platform)):

    ```
      chainloop admin api-token create --name <token-name>
    ```

    The following operations are enabled for instance API tokens:

    * `chainloop org create`
    * `chainloop org member invitation create`
    * `chainloop cas-backend add`

    Check \[Organization

  * **Built-in Policies documentation**: New documentation for built-in policies can be found [here](/reference/policies)
</Update>

<Update label="February 10, 2026">
  * **Relaxed CycloneDX SBOM validation**: A new `--no-strict-validation` flag is now available when adding CycloneDX SBOM materials via `chainloop attestation add`. This flag allows SBOMs that don't fully conform to the CycloneDX specification to be attached to attestations. Useful when working with third-party tools that generate SBOMs with minor schema deviations.
    ```bash theme={"dark"}
    chainloop attestation add --name my-sbom --value sbom.cdx.json --no-strict-validation
    ```
</Update>

<Update label="January 30, 2026">
  * **Chainloop EE unified Helm Chart (Preview)**: A new [unified Helm Chart](/guides/deployment/chainloop-ee) provides a streamlined way to deploy both the Evidence Store and Platform components together in Kubernetes environments.
      <img src="https://mintcdn.com/chainloop/_zqnZOrMUZij1efG/guides/deployment/img/platform-4.jpg?fit=max&auto=format&n=_zqnZOrMUZij1efG&q=85&s=65d5aec12d2f7e7a8e006242a8ccd77a" alt="Chainloop Platform" width="1060" height="942" data-path="guides/deployment/img/platform-4.jpg" />
  * **Docker Compose for local evaluation**: A [Docker Compose setup](/guides/evaluate-platform#local-docker-compose) is now available for quick local evaluation of the platform. Contact the Chainloop team to get started.
</Update>

<Update label="January 30, 2026">
  * **Improved search**: The command menu now shows all available entities and options, making it easier to find what you need. You can search for projects, products, policies, workflows, and more.
      <img src="https://mintcdn.com/chainloop/oqpwcE_INQxWVEFH/changelog/search-command-menu.png?fit=max&auto=format&n=oqpwcE_INQxWVEFH&q=85&s=5757d8d755220b2049ba29dc31f6ebae" alt="Search Command Menu" width="598" height="354" data-path="changelog/search-command-menu.png" />
</Update>

<Update label="January 30, 2026">
  * **Form updates**: We updated the requirement and policy forms to improve the user experience. The fields are now more organized, and the forms are more intuitive to use.
      <img src="https://mintcdn.com/chainloop/oqpwcE_INQxWVEFH/changelog/requirement-form.png?fit=max&auto=format&n=oqpwcE_INQxWVEFH&q=85&s=f7f9639508ed52bd7d31381148388a5e" alt="Requirement Form" width="974" height="742" data-path="changelog/requirement-form.png" />
      <img src="https://mintcdn.com/chainloop/oqpwcE_INQxWVEFH/changelog/policy-form.png?fit=max&auto=format&n=oqpwcE_INQxWVEFH&q=85&s=9af6b4d04378780e3a3d30c0e7be118a" alt="Policy Form" width="972" height="1026" data-path="changelog/policy-form.png" />
</Update>

<Update label="January 30, 2026">
  * **Requirement test freshness**: Requirement policies and manual evidence proofs can be set to expire after a certain time. Once expired, the requirement will be automatically marked as “Expired”. This can be useful to ensure that proofs of compliance are fresh and relevant at all times.
      <img src="https://mintcdn.com/chainloop/pZkHFA76n7R86qmq/concepts/img/freshness.png?fit=max&auto=format&n=pZkHFA76n7R86qmq&q=85&s=d2b3109117a5c1f8e94046e11f2b1c6a" alt="Freshness" width="590" height="398" data-path="concepts/img/freshness.png" />
</Update>

<Update label="January 28, 2026">
  * **New Compare tab in Contract view**: A new tab in the Contract view allows users to compare different versions of a contract side by side, highlighting additions, deletions, and modifications for easy review.
      <img src="https://mintcdn.com/chainloop/qjXOKuvkyNvrOkW3/changelog/compare-contracts.png?fit=max&auto=format&n=qjXOKuvkyNvrOkW3&q=85&s=02b93cb93c47890d89d3544f56b887e4" alt="Compare Contracts" width="1332" height="987" data-path="changelog/compare-contracts.png" />
</Update>

<Update label="January 21, 2026">
  * **Product-level compliance**: we have added support for product-scoped requirements in frameworks.
    This new feature allows to perform compliance assessment directly from products, useful when compliance status doesn't depend on the underlying projects.

      <img src="https://mintcdn.com/chainloop/qRHgpG70dZ9eboAN/changelog/product-requirement.png?fit=max&auto=format&n=qRHgpG70dZ9eboAN&q=85&s=dc694775b660f35a1296dd1c4f6a1320" alt="Product requirements" width="767" height="462" data-path="changelog/product-requirement.png" />

    Product-scoped requirements accept manual evidence submissions, but they don't yet support automated compliance from attestations.

  * **Product compliance filters** now affects to the compliance status charts, reflecting the status of what users have selected.

      <img src="https://mintcdn.com/chainloop/qRHgpG70dZ9eboAN/changelog/product-filters.png?fit=max&auto=format&n=qRHgpG70dZ9eboAN&q=85&s=dd443d5b3fe629e2f8f73ff6fe41a797" alt="Product filters" width="1097" height="713" data-path="changelog/product-filters.png" />

  * **Requirement Lifecycle Management** - mark requirements as `Active` or `Inactive` to control which ones are evaluated in your compliance assessments. Inactive requirements don't count toward your scores, making it easy to track requirements you're still defining without impacting your current compliance status. Learn more about [managing requirement lifecycles](/concepts/compliance-frameworks#requirement-lifecycle-management) in frameworks.
      <img src="https://mintcdn.com/chainloop/EgAW2yMRDxNFPPg1/changelog/requirement-lifecycle.png?fit=max&auto=format&n=EgAW2yMRDxNFPPg1&q=85&s=ff1998d2b62e6eebb46814bdea3acc5d" alt="Requirement Lifecycle Management" width="1529" height="770" data-path="changelog/requirement-lifecycle.png" />
</Update>

<Update label="January 16, 2026">
  * Comment badges are now shown in the UI for requirement evaluations at the product level, making it easy to track comments for each evaluation.
      <img src="https://mintcdn.com/chainloop/qtbceFQb9j2fdUVt/changelog/comment-badges.png?fit=max&auto=format&n=qtbceFQb9j2fdUVt&q=85&s=fd07078ab0d481814f7473d4bb12f321" alt="Comment Badges" width="1045" height="568" data-path="changelog/comment-badges.png" />
</Update>

<Update label="January 15, 2026">
  * When running in a GitHub Actions environment, Chainloop’s CLI automatically submits the result of the `chainloop attestation push` command to GitHub’s step summary. On GitLab, it creates a text file and informs the user where to find it, allowing them to include it in the job artifacts.
    Here is an example of how it looks in GitHub Actions:

      <img src="https://mintcdn.com/chainloop/ORMfYaiafq08PNYM/changelog/ci-report-github.png?fit=max&auto=format&n=ORMfYaiafq08PNYM&q=85&s=c8071ca6a839e9cd73aac8fa63ff56e2" alt="GitHub Actions CI Report" width="1031" height="825" data-path="changelog/ci-report-github.png" />

    It can be deactivated by passing the flag `deactivate-ci-report` to the command.
</Update>

<Update label="January 12, 2026">
  * Add **Docker Compose evaluation option** - users can now evaluate the Chainloop Platform using a Docker Compose
    setup for quick local testing. This new evaluation method provides a simpler alternative to Kubernetes for users
    who want to try the platform locally. See the new [Evaluate Chainloop Platform](/guides/evaluate-platform) guide
    for details on all evaluation options including SaaS, Docker Compose, and Kubernetes.
  * Introduce [WASM Policy Engine](/guides/wasm-policies/overview) - learn how to build and use WebAssembly-based custom policies in an initial preview on Go and Javascript.
  * Introduce User Verification status on attestations. Chainloop's CLI is now able to tell if the commit where it's operating from is signed by a verified user.
    More details in the [Commit Verification](/concepts/attestations#commit-verification).

    Additionally, the `source-commit` policy has been updated to support this new feature by introducing two optional inputs:

    * `check_author_verified`: When set to true, the policy enforces that the commit must be signed by a verified user.
    * `required_signature_algorithm`: This input allows specifying the signature algorithm that must be used for the commit signature (e.g., `PGP`, `SSH`, or `X509`).
</Update>

<Update label="January 09, 2026">
  * Added automatic detection of [Tekton Pipelines](/concepts/contracts#tekton-pipeline) as a CI/CD runner, including environment discovery via the `/tekton/results` filesystem and initial metadata support for TaskRuns and PipelineRuns.
</Update>

<Update label="January 08, 2026">
  **Fallback Storage Backend**: Organizations can now configure a [fallback CAS backend](/concepts/cas-backend#fallback-backend) to ensure high availability for evidence storage. When the default backend is unreachable or fails validation, Chainloop automatically switches to the fallback backend, allowing attestation processes to continue without interruption.

  <img src="https://mintcdn.com/chainloop/1fljViX3SVebSE7I/changelog/cas-backends-fallback.png?fit=max&auto=format&n=1fljViX3SVebSE7I&q=85&s=0559fb5eddc9f13a8127ed7f4d59be5b" alt="CAS Backends with Fallback" width="731" height="183" data-path="changelog/cas-backends-fallback.png" />

  Configure in Platform [Storage Backends Section](https://app.chainloop.dev/cas-backends) or using CLI:

  ```bash theme={"dark"}
  chainloop cas-backend update oci --name [BACKEND_NAME] --fallback=true
  ```

  **Requirements Auto-Matching Control**: Organizations can now [deactivate automatic matching of policies to compliance requirements](/concepts/compliance-frameworks#deactivating-requirements-auto-matching), enforcing explicit requirement declarations in workflow contracts for tighter control over compliance mappings.

  When deactivated, only policies with explicit `requirements` declarations in contracts will be matched to framework requirements, ensuring intentional and explicit associations.

  <img src="https://mintcdn.com/chainloop/Jol1rA-GoqMNhiIv/changelog/deactivate-requirements-auto-matching.png?fit=max&auto=format&n=Jol1rA-GoqMNhiIv&q=85&s=b7740b6fed74b5dc8adf0964f4bba5bc" alt="Deactivate Requirements Auto-Matching" width="529" height="197" data-path="changelog/deactivate-requirements-auto-matching.png" />

  This can also be configured via CLI EE:

  ```bash theme={"dark"}
  chainloop org update --name [ORG_NAME] --disable-requirements-auto-matching
  ```
</Update>

<Update label="December 18, 2025">
  * Add automatic detection of **Pull Request and Merge Request** information during attestation - captures PR/MR metadata
    including title and description during attestation initialization, automatically gathering context about code review
    activities.

    This change introduces a new [material type](/concepts/material-types) called `CHAINLOOP_PR_INFO` that's automatically added to attestations
    when a PR/MR is detected in the CI/CD environment.

    ```json theme={"dark"}
    {
        "chainloop.material.evidence.id": "CHAINLOOP_PR_INFO",
        "schema": "https://schemas.chainloop.dev/prinfo/1.0/pr-info.schema.json",
        "data": {
            "platform": "github",
            "type": "pull_request",
            "number": "3621",
            "title": "chore(frontend): fix trust hub loading",
            "description": "This patch fixes the loading skeleton in trust hub graph, without the min height the skeleton wasn't displayed properly (it was almost invisible)",
            "source_branch": "feat/trust-hub-graph-fix",
            "target_branch": "main",
            "url": "https://github.com/chainloop-dev/chainkloop/pull/3621",
            "author": "john"
        }
    }
    ```

  * Add [organization setting to restrict project-scoped contract creation](/concepts/contracts) - administrators can
    now prevent project admins from creating project-level contracts, ensuring all contracts are managed at the
    organization level to prevent contract sprawl
      <img src="https://mintcdn.com/chainloop/RO2O5Hbs9Uv28Rsn/changelog/restrict-contract.png?fit=max&auto=format&n=RO2O5Hbs9Uv28Rsn&q=85&s=774a44d8d0a522404f5224df96ef1967" alt="Restrict Project Contracts" width="786" height="80" data-path="changelog/restrict-contract.png" />
</Update>

<Update label="December 17, 2025">
  **Trust Hub Improvements & restyling**: Trust Hub Graphs now have a different, improved style with a new more modern
  look. We also introduce some UX improvements e.g. graph centering on load, tooltip on node hover, collapsible
  references, click load more nodes handling

  <img src="https://mintcdn.com/chainloop/RO2O5Hbs9Uv28Rsn/changelog/hub-revamp.png?fit=max&auto=format&n=RO2O5Hbs9Uv28Rsn&q=85&s=a41c1c439d1740973a78d5fe7436d72d" alt="Trust Hub Improvements" width="1231" height="696" data-path="changelog/hub-revamp.png" />
</Update>

<Update label="December 16, 2025">
  ## Control gates

  Introduce [control gates](/concepts/control-gates) - policies can now act as gates during attestation, interrupting
  the attestation process when violations are detected through the `gate` property in policy attachments, enabling
  fail-fast policy enforcement in CI/CD pipelines

  ```yaml theme={"dark"}
    apiVersion: chainloop.dev/v1
    kind: Contract
    metadata:
      name: my-workflow
    spec:
      policies:
        materials:
          - ref: critical-policy
            gate: true  # Fail attestation on violations
  ```

  ## CLI updates

  * Add `evidence list` command to [CLI Enterprise
    Edition](/command-line-reference/cli-ee-reference#chainloop-evidence-list) - list and filter evidence
    programmatically from the command line for automation and reporting workflows
    ```bash theme={"dark"}
    # List evidence for a project
    chainloop evidence list --project my-project

    # Filter by evidence type
    chainloop evidence list --project my-project --kind SBOM_CYCLONEDX_JSON

    ```

  ## Policy engine improvements

  * `chainloop.evidence` [built-in function](/reference/builtin-functions#chainloop-evidence) for policy engine -
    retrieve and query evidence across projects and product versions within Rego policies for advanced compliance
    scenarios
    ```ruby theme={"dark"}
    package main
    import rego.v1

    result := {"violations": violations}

    violations contains msg if {
      evidence := chainloop.evidence({
        "project_name": "my-project",
        "kind": ["SBOM_CYCLONEDX_JSON"]
      })

      count(evidence.result) == 0
      msg := "No SBOM found for project"
    }
    ```

  * `chainloop.project_compliance` [built-in function](/reference/builtin-functions#chainloop-project-compliance) for
    policy engine - query compliance requirement evaluations within policies using declarative project and version names
    for control gate implementations
    ```ruby theme={"dark"}
    package main
    import rego.v1

    result := {"violations": violations}

    violations contains msg if {
      compliance := chainloop.project_compliance({
        "project_name": "my-project",
        "project_version_name": "v1.0.0"
      })

      some eval in compliance.evaluations
      eval.status == "fail"
      msg := sprintf("Requirement %s failed", [eval.name])
    }
    ```
</Update>

<Update label="December 15, 2025">
  * Fix contract schema: move annotations from metadata to spec - attestation-level annotations now correctly reside
    in the `spec.annotations` field instead of `metadata.annotations` for proper semantic alignment

  ```yaml theme={"dark"}
  apiVersion: chainloop.dev/v1
  kind: Contract
  metadata:
    name: my-workflow
  spec:
    annotations:  # Correct location
      - name: release-version
        value: "1.0.0"
  ```
</Update>

<Update label="December 12, 2025">
  * Introduce **comments system** for requirement evaluations - add comments and justifications to compliance requirement evaluations with markdown support, enabling teams to document decisions, provide context, and collaborate on compliance assessments
      <img src="https://mintcdn.com/chainloop/RO2O5Hbs9Uv28Rsn/changelog/comments.png?fit=max&auto=format&n=RO2O5Hbs9Uv28Rsn&q=85&s=bb75fd935e489302990d1fab698ba14d" alt="Comments System" width="423" height="240" data-path="changelog/comments.png" />

  <AccordionGroup>
    <Accordion title="Fixes">
      <div style={{ fontSize: "0.75em" }}>
        - Fix 404 error when saving first contract in web UI - contract creation now works correctly on first save
        - Fix user invitation dialog to handle leading whitespace - email inputs are now trimmed automatically to prevent invitation failures
        - Fix unsaved changes alert when updating CAS backend descriptions - form now correctly detects and warns about unsaved changes
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="November 28, 2025">
  # Platform v0.302.1

  ## SLSA 1.2 release

  [Chainloop now supports SLSA 1.2](https://chainloop.dev/blog/slsa-1-2-support/), the latest version of the Supply-chain Levels for Software Artifacts framework. This update brings enhanced provenance attestation capabilities and improved compliance tracking aligned with the latest SLSA specifications.

  For more information, see our [SLSA guides](/guides/slsa) for best practices and implementation steps.

  <img src="https://mintcdn.com/chainloop/KMUOqtquJl5v2YsG/changelog/slsa-1-2.png?fit=max&auto=format&n=KMUOqtquJl5v2YsG&q=85&s=00e90e232f2e9881531d9c34d9264e66" alt="SLSA 1.2 Support" width="1578" height="1251" data-path="changelog/slsa-1-2.png" />

  ## Requirement evaluation overrides

  You can now manually override the evaluation status of compliance requirements with justification. This enables teams to document exceptions and provide context when requirements cannot be met through automated means.

  Overrides are available in both project and product evaluation views. When a requirement is overridden, the status badge changes to "Status Overridden" and displays the justification below the evaluation header. Overrides are also included in the product compliance API response for programmatic access.

  <img src="https://mintcdn.com/chainloop/KMUOqtquJl5v2YsG/changelog/override-dialog.png?fit=max&auto=format&n=KMUOqtquJl5v2YsG&q=85&s=70bc3a9f6ca67de4efebcb95f462e9c6" alt="Override Dialog" width="453" height="399" data-path="changelog/override-dialog.png" />

  <img src="https://mintcdn.com/chainloop/KMUOqtquJl5v2YsG/changelog/override-status.png?fit=max&auto=format&n=KMUOqtquJl5v2YsG&q=85&s=e7bdff3d1f7ec9715ea32c3650e333a6" alt="Override Status Display" width="1085" height="196" data-path="changelog/override-status.png" />

  <AccordionGroup>
    <Accordion title="Fixes">
      <div style={{ fontSize: "0.75em" }}>
        * <strong>Evaluations</strong> - Fixed 500 errors caused by cache failures. The system now gracefully handles cache reconnection issues by logging and recovering instead of returning errors<br />
        * <strong>Evidence API</strong> - Fixed product version filtering to correctly use the specific project version attached to the product version, rather than any version of the underlying project<br />
        * <strong>Built-in frameworks</strong> - Fixed parent section references not updating when frameworks are renamed (e.g., slsa-1-1 to slsa-1-2). Sections now correctly maintain their hierarchy position<br />
        * <strong>Frameworks</strong> - Improved scrolling behavior for deeply nested sections (more than 2 levels)<br />
        * <strong>Table of contents</strong> - Removed buggy tooltip from table of contents component
      </div>
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="November 20, 2025">
  * Add `skip` field to [policy group attachments](/concepts/policy-groups#skipping-specific-policies) - selectively exclude specific policies from evaluation within a policy group without modifying the group itself, enabling flexible policy enforcement per workflow

  ```yaml theme={"dark"}
  apiVersion: chainloop.dev/v1
  kind: Contract
  metadata:
  name: example-contract
  spec:
  policyGroups:
    - ref: sbom-quality-group
      skip:
        - sbom-present
        - my-other-policy
  ```
</Update>

<Update label="November 18, 2025">
  * Add support for **custom built-in functions** in the policy Rego engine - extend policy evaluation capabilities with [custom builtins](/reference/builtin-functions) for advanced policy scenarios and domain-specific validation logic
    ```ruby theme={"dark"}
    package main
    import rego.v1

    result := {"violations": violations}

    violations contains msg if {
        digest := sprintf("sha256:%s",[input.chainloop_metadata.digest.sha256])
        discovered := chainloop.discover(digest, "")

        some ref in discovered.references
        ref.kind == "ATTESTATION"
        ref.metadata.hasPolicyViolations == "true"

        msg:= sprintf("artifact belongs to attestation with digest %s, which contains policy violations [name: %s, project: %s, org: %s]", [ref.digest, ref.metadata.name, ref.metadata.project, ref.metadata.organization])
    }
    ```
</Update>

<Update label="November 18, 2025">
  Improvements in the runner context gatherer and [branch protection policies](/reference/branch-protection-policies)

  * Add `branches` parameter to the policies specify which branches should be evaluated for compliance, enabling targeted policy enforcement on main/production branches only
  * Add branch filtering to runner context gatherer - optimize GitHub branch protection analysis by specifying target branches, reducing API calls and improving performance for repositories with many branches
</Update>

<Update label="November 16, 2025">
  * Expose `has_policy_violations` flag in `attestation status` command - enables CI/CD control gates to fail pipelines based on policy violation status
</Update>

<Update label="November 16, 2025">
  * Add policy violation filtering to workflow run queries - list and filter workflow runs by policy violation status for better compliance monitoring and reporting

  ```bash theme={"dark"}
  # List only runs with policy violations
  chainloop workflow run list --workflow my-workflow --has-violations

  # List only runs without policy violations
  chainloop workflow run list --workflow my-workflow --no-violations
  ```
</Update>

<Update label="November 14, 2025">
  * Add UI support for [preventing workflow creation](/concepts/attestations#preventing-implicit-workflow-creation) - organization setting now available in the UI to require explicit workflow creation before attestations, preventing automatic workflow proliferation in automated environments
      <img src="https://mintcdn.com/chainloop/F80RlUlRCVSsE7ab/changelog/settings-workflow-creation.png?fit=max&auto=format&n=F80RlUlRCVSsE7ab&q=85&s=aaa4a0a7ab29bf5635cfbd43b08ab62e" alt="Prevent Workflow Creation UI" width="952" height="533" data-path="changelog/settings-workflow-creation.png" />
</Update>

<Update label="November 14, 2025">
  * Extend chainloop-best-practices framework with Source Code integrity controls - automatically verify branch protection policies, code review requirements, commit signing, and SAST scanning to ensure secure development practices across repositories
      <img src="https://mintcdn.com/chainloop/F80RlUlRCVSsE7ab/changelog/best-practices-branch-protection.png?fit=max&auto=format&n=F80RlUlRCVSsE7ab&q=85&s=6da38b6ff6deaccac259ef8142003378" alt="Best Practices Framework" width="1540" height="1261" data-path="changelog/best-practices-branch-protection.png" />
</Update>

<Update label="November 14, 2025">
  * Add `--existing-version` flag to `attestation init` command - ensure attestations only associate with pre-existing project versions, preventing accidental version creation during backpatching and packaging workflows

  ```bash theme={"dark"}
  # Fail if version doesn't exist (useful for backpatches)
  chainloop att init --workflow sast --project my-project --version v1.2.3 --existing-version

  # Error output when version doesn't exist:
  # ERR validation error: project version "v1.2.3" not found
  ```
</Update>

<Update label="November 14, 2025">
  * Add CLI commands for [project management](/command-line-reference/cli-ee-reference#chainloop-project) - create, list, update, describe, and delete projects directly from the command line

  ```bash theme={"dark"}
  # Create a new project
  chainloop project create --name my-project --description "My project description"

  # List all projects
  chainloop project list
  ```
</Update>

<Update label="November 14, 2025">
  * Add CLI commands for [project version management](/command-line-reference/cli-ee-reference#chainloop-project-version) - create, list, update, describe, and delete project versions with prerelease/release status control

  ```bash theme={"dark"}
  # Create a new prerelease version
  chainloop project version create --project my-project --name v1.0.0

  # Create a released version
  chainloop project version create --project my-project --name v1.0.0 --is-released
  ```
</Update>

<Update label="November 11, 2025">
  * Add `skip_upload` capability to [workflow contracts](/concepts/contracts#materials) - control whether materials are uploaded to CAS while still recording metadata like digest and filename in attestations, enabling efficient attestation of large artifacts already stored externally

  ```yaml theme={"dark"}
  # Example
  apiVersion: chainloop.dev/v1
  kind: Contract
  metadata:
    name: my-workflow
  spec:
    materials:
      - name: large-binary
        type: ARTIFACT
        skip_upload: true  # Only record metadata, don't upload to CAS
      - name: sbom
        type: SBOM_CYCLONEDX_JSON
        # skip_upload defaults to false - normal upload behavior
  ```
</Update>

<Update label="November 11, 2025">
  * Add [organization setting to prevent implicit workflow creation](/concepts/attestations#preventing-implicit-workflow-creation) during attestation - workflows must now be explicitly created via CLI when enabled, preventing workflow proliferation in automated environments

  ```bash theme={"dark"}
  chainloop att init --workflow sast --project my-project-2222
  ERR creating workflows during the attestation process is disabled for this organization. Please create them in advance or contact your administrator
  ```
</Update>

<Update label="November 11, 2025">
  * Add external policy references support to `policy devel eval` command - evaluate policies from HTTP/HTTPS URLs (`https://...`), Chainloop registry (`chainloop://policy-name`), or local files for flexible policy testing and development workflows

  ```bash theme={"dark"}
  # Evaluate policy from HTTP URL
  chainloop policy devel eval --policy https://raw.githubusercontent.com/chainloop-dev/chainloop/main/docs/examples/policies/quickstart/cdx-fresh.yaml --material sbom.json
  {
   "result": {
      "violations": [
         "SBOM created at: 2024-01-09T12:00:00Z which is too old (freshness limit set to 30 days)"
      ],
      "skip_reasons": [],
      "skipped": false
   }
  }

  # Evaluate policy from Chainloop registry
  chainloop policy devel eval --policy chainloop://sbom-ntia --material sbom.json
  {
   "result": {
      "violations": [
         "missing author",
         "missing supplier for 'AES-256-GCM'",
         "missing supplier for 'ECDH'",
         "missing supplier for 'RSA-2048'",
         "missing supplier for 'SHA384'",
         "missing supplier for 'SHA512withRSA'",
         "missing supplier for 'TLSv1.2'",
         "missing supplier for 'google.com'",
         "missing unique identifier (PURL, CPE, SWID) for 'AES-256-GCM'",
         "missing unique identifier (PURL, CPE, SWID) for 'ECDH'",
         "missing unique identifier (PURL, CPE, SWID) for 'RSA-2048'",
         "missing unique identifier (PURL, CPE, SWID) for 'SHA384'",
         "missing unique identifier (PURL, CPE, SWID) for 'SHA512withRSA'",
         "missing unique identifier (PURL, CPE, SWID) for 'TLSv1.2'",
         "missing unique identifier (PURL, CPE, SWID) for 'google.com'",
         "missing version for 'AES-256-GCM'",
         "missing version for 'ECDH'",
         "missing version for 'RSA-2048'",
         "missing version for 'SHA384'",
         "missing version for 'SHA512withRSA'",
         "missing version for 'TLSv1.2'",
         "missing version for 'google.com'"
      ],
      "skip_reasons": [],
      "skipped": false
   }
  }
  ```
</Update>

<Update label="November 06, 2025">
  * Slack webhooks can now be used to send System and Product notifications, in addition to current attestation fan-out messages.
      <img src="https://mintcdn.com/chainloop/onWWWtLLv4E-shg7/changelog/slack-notification.png?fit=max&auto=format&n=onWWWtLLv4E-shg7&q=85&s=48b2d258766c59ab719b9714f317f8b9" alt="Slack Notification" width="535" height="262" data-path="changelog/slack-notification.png" />
</Update>

<Update label="November 03, 2025">
  * Add support for attesting container images from local OCI layout directories - enables secure image attestation in air-gapped environments and registry-less deployments without requiring image push to remote registries

  ```bash theme={"dark"}
  # Single image layout (automatic)
  chainloop attestation add \
    --name my-app \
    --value /path/to/oci-layout \
    --kind CONTAINER_IMAGE

  # Multi-image layout (requires digest selector)
  chainloop attestation add \
    --name my-app \
    --value /path/to/oci-layout@sha256:9a7ef86e19... \
    --kind CONTAINER_IMAGE
  ```

  * Add custom endpoint configuration for [Azure Blob Storage](/concepts/cas-backend#azure-blob-storage) CAS backends - enables support for Azure Government Cloud and other sovereign cloud environments by allowing custom endpoint suffixes
      <img src="https://mintcdn.com/chainloop/CUVPKeYIg7BtPCez/changelog/azure-blob-endpoint.png?fit=max&auto=format&n=CUVPKeYIg7BtPCez&q=85&s=ff97206d0131ef2fc289aec0114a537c" alt="Azure Blob Endpoint Configuration" width="763" height="506" data-path="changelog/azure-blob-endpoint.png" />
</Update>

<Update label="October 31, 2025">
  * Introduce new [contract schema](/concepts/contracts) format to align with other compliance resources.
  * Add [Policy Group](/concepts/policy-groups) management commands in [Chainloop CLI Enterprise Edition](/command-line-reference/cli-ee-reference#chainloop-policy-group) - store and manage reusable policy groups in the platform with declarative YAML configuration

  ```bash theme={"dark"}
  # Create or update a policy group
  chainloop policy-group apply --file sbom-quality.yaml

  # List all policy groups
  chainloop policy-group list

  # Describe a specific policy group
  chainloop policy-group describe --name sbom-quality
  ```

  * Add [`chainloop workflow contract apply`](/command-line-reference/cli-ee-reference#chainloop-workflow-contract-apply) command for declarative contract management - simplifies contract lifecycle by creating or updating contracts from YAML files in a single operation
</Update>

<Update label="October 28, 2025">
  * Introduce [Chainloop CLI Enterprise Edition](/command-line-reference/cli-installation) - proprietary extension of the open-source CLI with additional features and capabilities available in platform paid plans

  ```bash theme={"dark"}
  # Install CLI Enterprise Edition
  curl -sfL https://dl.chainloop.dev/cli/install.sh | bash -s -- -ee
  ```

  Key features include:

  * [Declarative policy management](/guides/custom-policies#store-custom-policy) - store and reuse custom policies in the platform with YAML-based configuration and Rego evaluation logic for consistent supply chain security enforcement across workflows
  * [Advanced runner context](/reference/runner-context#gathering-runner-context) - capture and attest CI/CD environment security configuration including branch protection settings, pull request requirements, and commit protection for enhanced compliance verification
</Update>

<Update label="October 25, 2025">
  * Add [Compliance Overview](/concepts/products#compliance-overview) to product view for comprehensive visibility into compliance frameworks and requirements across product versions with drill-down capabilities into underlying projects
      <img src="https://mintcdn.com/chainloop/-VURpsffh83G3c-I/concepts/img/product-compliance.png?fit=max&auto=format&n=-VURpsffh83G3c-I&q=85&s=f18796a5d2a196c9d562274db6509ddd" alt="Product Compliance" width="1644" height="1083" data-path="concepts/img/product-compliance.png" />
  * Add [Evidence](/concepts/products#evidence-tab) tab to product view for centralized access to all pieces of evidence across product versions, including artifacts, SBOMs, VEX documents, vulnerability reports, and provenance data with advanced filtering capabilities
      <img src="https://mintcdn.com/chainloop/-VURpsffh83G3c-I/concepts/img/product-evidence.png?fit=max&auto=format&n=-VURpsffh83G3c-I&q=85&s=53ade3c5a6c0f95ed812c4bcb358bd22" alt="Product Evidence Tab" width="1905" height="1195" data-path="concepts/img/product-evidence.png" />
</Update>

<Update label="October 22, 2025">
  * Add notification trigger for product releases - receive alerts when new product versions are released
</Update>

<Update label="October 21, 2025">
  * Expose OpenAPI spec preconfigured for your specific instance of Chainloop
    You can find it at `https://your-backend-instance/openapi.yaml` for example [here](https://api.app.chainloop.dev/openapi.yaml)
</Update>

<Update label="October 20, 2025">
  * Add notifications for aggregated product compliance changes - stay informed about compliance status updates (failures and recoveries)
      <img src="https://mintcdn.com/chainloop/5Tl2PSZfLTCZeFA-/concepts/img/notifications-select.png?fit=max&auto=format&n=5Tl2PSZfLTCZeFA-&q=85&s=f4a4af8f9f73065d914e1653619d7355" alt="Product notifications" width="534" height="600" data-path="concepts/img/notifications-select.png" />
</Update>

<Update label="October 17, 2025">
  * Introduce [Notification Integrations](/concepts/notifications) - send alerts about system status through Microsoft Teams and Email Notifications
      <img src="https://mintcdn.com/chainloop/5Tl2PSZfLTCZeFA-/concepts/img/integrations-9.png?fit=max&auto=format&n=5Tl2PSZfLTCZeFA-&q=85&s=5b8d7e75872e7cbd49735458f6ce4b5a" alt="Notification Integrations" width="1842" height="1183" data-path="concepts/img/integrations-9.png" />
</Update>

<Update label="October 15, 2025">
  * Add [Evidence](/concepts/projects-versions#evidence-tab) tab to project view for centralized access to all pieces of evidence, including artifacts, SBOMs, VEX documents, vulnerability reports, and provenance data with advanced filtering capabilities
      <img src="https://mintcdn.com/chainloop/eyalUM_iyNI7E-xA/concepts/img/evidence.png?fit=max&auto=format&n=eyalUM_iyNI7E-xA&q=85&s=3e4cd32efd9188306cf0b801ca19d578" alt="Evidence Tab" width="1470" height="1028" data-path="concepts/img/evidence.png" />
</Update>

<Update label="October 10, 2025">
  * Add system status page to monitor platform health and view past incidents in real-time
      <img src="https://mintcdn.com/chainloop/kYXuPr-swOeVPLCv/changelog/status-page.png?fit=max&auto=format&n=kYXuPr-swOeVPLCv&q=85&s=ec21f89e77022d67a93229fb6554dede" alt="Status Page" width="1656" height="525" data-path="changelog/status-page.png" />
</Update>

<Update label="October 09, 2025">
  * Introduce [Business Units](/concepts/business-units) - organize products by department, division, or team for better organizational structure management
      <img src="https://mintcdn.com/chainloop/tUPEKuU3jbmbDIWl/changelog/bus.png?fit=max&auto=format&n=tUPEKuU3jbmbDIWl&q=85&s=99a36e65aef562f0cb59dd6f8e0bac92" alt="Business Units" width="1260" height="447" data-path="changelog/bus.png" />
</Update>

<Update label="September 15, 2025">
  * Display user group memberships in the members table with contextual group inspection
      <img src="https://mintcdn.com/chainloop/6-vJOQucCHfEzZdn/changelog/user-groups.png?fit=max&auto=format&n=6-vJOQucCHfEzZdn&q=85&s=a7e80e6daa204a684f4d5f6593da3957" alt="User groups" width="1870" height="832" data-path="changelog/user-groups.png" />
</Update>

<Update label="September 13, 2025">
  * Allow to re-evaluate requirements from existing workflow runs
      <img src="https://mintcdn.com/chainloop/EeWVZM7Oh1YhM4mI/changelog/compliance-recalculate.png?fit=max&auto=format&n=EeWVZM7Oh1YhM4mI&q=85&s=dc6b6ebd5285fd5036f38d3eecdcf4da" alt="Recalculate compliance" width="931" height="646" data-path="changelog/compliance-recalculate.png" />
</Update>

<Update label="September 12, 2025">
  * Fix GitLab integration authentication issues
</Update>

<Update label="September 09, 2025">
  * Implement automatic Storage backend health checks every 30 minutes with owner notifications on status changes via Email and Audit Log
      <img src="https://mintcdn.com/chainloop/EeWVZM7Oh1YhM4mI/changelog/cas-backend-events.png?fit=max&auto=format&n=EeWVZM7Oh1YhM4mI&q=85&s=d74a78edaf32b0edc47fa5abf3da77cd" alt="Storage health check" width="843" height="133" data-path="changelog/cas-backend-events.png" />
</Update>

<Update label="September 04, 2025">
  * Improve product compliance view with aggregated compliance charts

      <img src="https://mintcdn.com/chainloop/SVENSGqAeLVq42_9/changelog/product-compliance.png?fit=max&auto=format&n=SVENSGqAeLVq42_9&q=85&s=78ffa5a9b2b4348c91dc57633574e4c5" alt="Compliance" width="1054" height="536" data-path="changelog/product-compliance.png" />

  * Fix CAS backend permission errors when storage cannot be reached
</Update>

<Update label="September 03, 2025">
  * Add [documentation for branch protection policies](https://docs.chainloop.dev/reference/branch-protection-policies#branch-protection-policies) including GitLab integration
</Update>

<Update label="September 02, 2025">
  * Allow product-level applicability settings with inheritance to project versions
      <img src="https://mintcdn.com/chainloop/EeWVZM7Oh1YhM4mI/changelog/product-applicability-inheritance.png?fit=max&auto=format&n=EeWVZM7Oh1YhM4mI&q=85&s=2b87c5207307a4796d9db7c49c4aa73e" alt="Product applicability inheritance" width="903" height="320" data-path="changelog/product-applicability-inheritance.png" />

  * Extend `banned-licenses` policy to support SPDX license expressions
</Update>

<Update label="August 29, 2025">
  * Allow creating product versions from previous ones - streamlines version management by pre-populating projects and compliance mappings

      <img src="https://mintcdn.com/chainloop/SVENSGqAeLVq42_9/changelog/prefill.png?fit=max&auto=format&n=SVENSGqAeLVq42_9&q=85&s=38c630c01350aa459e38d148562ecc98" alt="Prefill version" width="533" height="213" data-path="changelog/prefill.png" />
</Update>

<Update label="August 28, 2025">
  * Replace bitnami containers with custom builds to address container initialization issues
</Update>

<Update label="August 27, 2025">
  * Requirements applicability for projects and versions - define which requirements apply to specific projects or versions within a product for tailored compliance management

      <img src="https://mintcdn.com/chainloop/SVENSGqAeLVq42_9/changelog/applicability.png?fit=max&auto=format&n=SVENSGqAeLVq42_9&q=85&s=5a4183d4387845bb864efdd82ce9b8ec" alt="Applicability" width="1042" height="815" data-path="changelog/applicability.png" />
</Update>

<Update label="August 25, 2025">
  * Pin project versions on product releases to maintain stable relationships
      <img src="https://mintcdn.com/chainloop/EeWVZM7Oh1YhM4mI/changelog/product-release.png?fit=max&auto=format&n=EeWVZM7Oh1YhM4mI&q=85&s=7ef6142bb578b4bec537407ecc956f4e" alt="Product release" width="510" height="276" data-path="changelog/product-release.png" />
  * Standardize on "pre-release" terminology across the platform
</Update>

<Update label="August 18, 2025">
  * Enable inviting external users to products
  * Add audit entries when adding users/groups to products and projects

      <img src="https://mintcdn.com/chainloop/SVENSGqAeLVq42_9/changelog/invite-product.png?fit=max&auto=format&n=SVENSGqAeLVq42_9&q=85&s=412e56f81d596e7bb041ba5ded87271c" alt="Invite new members" width="412" height="351" data-path="changelog/invite-product.png" />
</Update>

<Update label="August 15, 2025">
  * On-prem: New [instance-level Admin role](https://docs.chainloop.dev/guides/deployment/guides/provisioning#instance-administrators) for managing organization creation.
</Update>

<Update label="August 14, 2025">
  * Product version lifecycle management
      <img src="https://mintcdn.com/chainloop/EeWVZM7Oh1YhM4mI/changelog/product-versions.png?fit=max&auto=format&n=EeWVZM7Oh1YhM4mI&q=85&s=b031574b32e08e6000e5b6aa0699d533" alt="Product versions" width="344" height="232" data-path="changelog/product-versions.png" />
</Update>

<Update label="August 8, 2025">
  * Add contextual help links in UI pointing to documentation and RBAC guide
</Update>

<Update label="July 18, 2025">
  * Ensure at least one Org Owner is present in the organization before leaving
</Update>

Refer to [this collection of blog posts](https://chainloop.dev/blog-categories/changelog) for additional historical changes.
