Skip to main content
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 called CHAINLOOP_PR_INFO that’s automatically added to attestations when a PR/MR is detected in the CI/CD environment.
    {
        "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 - administrators can now prevent project admins from creating project-level contracts, ensuring all contracts are managed at the organization level to prevent contract sprawl Restrict Project Contracts
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 handlingTrust Hub Improvements
December 16, 2025

Control gates

Introduce 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
  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 - list and filter evidence programmatically from the command line for automation and reporting workflows
    # 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 for policy engine - retrieve and query evidence across projects and product versions within Rego policies for advanced compliance scenarios
    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 for policy engine - query compliance requirement evaluations within policies using declarative project and version names for control gate implementations
    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])
    }
    
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
apiVersion: chainloop.dev/v1
kind: Contract
metadata:
  name: my-workflow
spec:
  annotations:  # Correct location
    - name: release-version
      value: "1.0.0"
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 Comments System
  • 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
November 28, 2025

Platform v0.302.1

SLSA 1.2 release

Chainloop now supports SLSA 1.2, 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 for best practices and implementation steps.SLSA 1.2 Support

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.Override DialogOverride Status Display
  • Evaluations - Fixed 500 errors caused by cache failures. The system now gracefully handles cache reconnection issues by logging and recovering instead of returning errors
  • Evidence API - Fixed product version filtering to correctly use the specific project version attached to the product version, rather than any version of the underlying project
  • Built-in frameworks - 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
  • Frameworks - Improved scrolling behavior for deeply nested sections (more than 2 levels)
  • Table of contents - Removed buggy tooltip from table of contents component
November 20, 2025
  • Add skip field to policy group attachments - selectively exclude specific policies from evaluation within a policy group without modifying the group itself, enabling flexible policy enforcement per workflow
apiVersion: chainloop.dev/v1
kind: Contract
metadata:
name: example-contract
spec:
policyGroups:
  - ref: sbom-quality-group
    skip:
      - sbom-present
      - my-other-policy
November 18, 2025
  • Add support for custom built-in functions in the policy Rego engine - extend policy evaluation capabilities with custom builtins for advanced policy scenarios and domain-specific validation logic
    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])
    }
    
November 18, 2025
Improvements in the runner context gatherer and 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
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
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
# 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
November 14, 2025
  • Add UI support for preventing workflow creation - organization setting now available in the UI to require explicit workflow creation before attestations, preventing automatic workflow proliferation in automated environments Prevent Workflow Creation UI
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 Best Practices Framework
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
# 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
November 14, 2025
  • Add CLI commands for project management - create, list, update, describe, and delete projects directly from the command line
# Create a new project
chainloop project create --name my-project --description "My project description"

# List all projects
chainloop project list
November 14, 2025
  • Add CLI commands for project version management - create, list, update, describe, and delete project versions with prerelease/release status control
# 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
November 11, 2025
  • Add skip_upload capability to workflow contracts - 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
# 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
November 11, 2025
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
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
# 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
 }
}
November 06, 2025
  • Slack webhooks can now be used to send System and Product notifications, in addition to current attestation fan-out messages. Slack Notification
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
# 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 CAS backends - enables support for Azure Government Cloud and other sovereign cloud environments by allowing custom endpoint suffixes Azure Blob Endpoint Configuration
October 31, 2025
# 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 for declarative contract management - simplifies contract lifecycle by creating or updating contracts from YAML files in a single operation
October 28, 2025
  • Introduce Chainloop CLI Enterprise Edition - proprietary extension of the open-source CLI with additional features and capabilities available in platform paid plans
# Install CLI Enterprise Edition
curl -sfL https://dl.chainloop.dev/cli/install.sh | bash -s -- -ee
Key features include:
  • Declarative policy management - 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 - capture and attest CI/CD environment security configuration including branch protection settings, pull request requirements, and commit protection for enhanced compliance verification
October 25, 2025
  • Add Compliance Overview to product view for comprehensive visibility into compliance frameworks and requirements across product versions with drill-down capabilities into underlying projects Product Compliance
  • Add Evidence 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 Product Evidence Tab
October 22, 2025
  • Add notification trigger for product releases - receive alerts when new product versions are released
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
October 20, 2025
  • Add notifications for aggregated product compliance changes - stay informed about compliance status updates (failures and recoveries) Product notifications
October 17, 2025
October 15, 2025
  • Add Evidence 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 Evidence Tab
October 10, 2025
  • Add system status page to monitor platform health and view past incidents in real-time Status Page
October 09, 2025
  • Introduce Business Units - organize products by department, division, or team for better organizational structure management Business Units
September 15, 2025
  • Display user group memberships in the members table with contextual group inspection User groups
September 13, 2025
  • Allow to re-evaluate requirements from existing workflow runs Recalculate compliance
September 12, 2025
  • Fix GitLab integration authentication issues
September 09, 2025
  • Implement automatic Storage backend health checks every 30 minutes with owner notifications on status changes via Email and Audit Log Storage health check
September 04, 2025
  • Improve product compliance view with aggregated compliance charts Compliance
  • Fix CAS backend permission errors when storage cannot be reached
September 03, 2025
September 02, 2025
  • Allow product-level applicability settings with inheritance to project versions Product applicability inheritance
  • Extend banned-licenses policy to support SPDX license expressions
August 29, 2025
  • Allow creating product versions from previous ones - streamlines version management by pre-populating projects and compliance mappings Prefill version
August 28, 2025
  • Replace bitnami containers with custom builds to address container initialization issues
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 Applicability
August 25, 2025
  • Pin project versions on product releases to maintain stable relationships Product release
  • Standardize on “pre-release” terminology across the platform
August 18, 2025
  • Enable inviting external users to products
  • Add audit entries when adding users/groups to products and projects Invite new members
August 15, 2025
August 14, 2025
  • Product version lifecycle management Product versions
August 8, 2025
  • Add contextual help links in UI pointing to documentation and RBAC guide
July 18, 2025
  • Ensure at least one Org Owner is present in the organization before leaving
Refer to this collection of blog posts for additional historical changes.