• 3.4.1 c0f6051306

    3.4.1
    All checks were successful
    published / fetched (push) Successful in 0s
    published / projectfile-is-valid (push) Successful in 4s
    published / signing-is-ready (push) Successful in 4s
    published / source-is-compliant (push) Successful in 6s
    published / source-is-tested (push) Successful in 11s
    published / source-is-secure (push) Successful in 23s
    published / documentation-passes-lint (push) Successful in 1m0s
    published / source-passes-lint (push) Successful in 1m4s
    published / projectfile-is-ok (push) Successful in 8s
    published / documentation-is-ok (push) Successful in 0s
    published / source-is-ok (push) Successful in 0s
    published / inputs-are-ok (push) Successful in 0s
    published / binaries-are-built (amd64, darwin) (push) Successful in 29s
    published / binaries-are-built (amd64, linux) (push) Successful in 32s
    published / binaries-are-built (arm64, darwin) (push) Successful in 42s
    published / binaries-are-built (arm64, linux) (push) Successful in 31s
    published / binaries-are-built (riscv64, linux) (push) Successful in 35s
    published / image-is-built (amd64) (push) Successful in 5m46s
    published / gsa (amd64, darwin) (push) Successful in 11s
    published / gsa (amd64, linux) (push) Successful in 8s
    published / gsa (arm64, darwin) (push) Successful in 11s
    published / gsa (arm64, linux) (push) Successful in 7s
    published / gsa (riscv64, linux) (push) Successful in 5s
    published / secrets-ready (push) Successful in 1s
    published / image-has-sbom (amd64) (push) Successful in 19s
    published / image-is-secure (amd64) (push) Successful in 22s
    published / binaries-are-ok (push) Successful in 1s
    published / images-are-ok (push) Successful in 0s
    published / binaries-are-signed (arm64, darwin) (push) Successful in 22s
    published / binaries-are-signed (amd64, darwin) (push) Successful in 23s
    published / binaries-are-signed (amd64, linux) (push) Successful in 24s
    published / binaries-are-signed (arm64, linux) (push) Successful in 22s
    published / binaries-are-signed (riscv64, linux) (push) Successful in 30s
    published / container-is-ok (push) Successful in 0s
    published / container-ready-to-test (push) Successful in 0s
    published / container-is-diagnosed (push) Successful in 0s
    published / container-is-verified (amd64) (push) Successful in 58s
    published / image-is-ready (push) Successful in 0s
    published / artifacts-are-ok (push) Successful in 0s
    published / ready-to-publish (push) Successful in 0s
    published / publish-image (push) Successful in 0s
    published / image-is-signed (push) Successful in 3s
    published / image-is-attested (amd64, kiota) (push) Successful in 48s
    published / image-is-attested (amd64, dockerhub) (push) Successful in 1m18s
    published / binaries-are-released (arm64, darwin) (push) Successful in 7s
    published / binaries-are-released (amd64, darwin) (push) Successful in 7s
    published / binaries-are-released (amd64, linux) (push) Successful in 7s
    published / binaries-are-released (riscv64, linux) (push) Successful in 5s
    published / binaries-are-released (arm64, linux) (push) Successful in 5s
    published / release-notes-are-published (push) Successful in 4s
    published / published (push) Successful in 1s
    Stable

    damian-buho released this 2026-10-07 13:39:54 +00:00 | 156 commits to dev since this release

    Signed by damian-buho
    GPG key ID: 87B15EAD49FD22AB

    5 commits, 1 contributor, 4 hours since 3.4.0.

    Installation

    Container image

    Pull the published container image:

    Pull from DockerHub — linux/amd64

    docker pull damianbuho/projectfile-bridge:3.4.1
    

    This release also publishes the 3.4 and 3 tags — pull the precision you want to pin.

    If the registries above are unreachable, pull from the origin instead:

    Pull from Kiota — linux/amd64

    docker pull kiota.ch/projectfile/bridge:3.4.1
    

    Prebuilt binary

    Download the prebuilt binary for your platform from this release:

    mkdir -p ~/.local/bin && curl --fail --location --output ~/.local/bin/pf-bridge https://kiota.ch/projectfile/bridge/releases/download/3.4.1/pf-bridge-$(uname -s | tr A-Z a-z)-$(uname -m) && chmod +x ~/.local/bin/pf-bridge
    ~/.local/bin/pf-bridge --help
    

    Published for: linux/amd64, linux/arm64, linux/riscv64, darwin/amd64, darwin/arm64

    Usage

    pf-bridge

    $ pf-bridge --help
    pf-bridge — keep every project file in sync with your projectfile document
    
    A projectfile (projectfile.yaml) is the single source of truth for a project:
    identity, people, links, and tool config. pf-bridge copies that data out
    into the files each tool already reads — README.md, package.json,
    CITATION.cff, forge settings — and reads two-way files back.
    Spec: https://projectfile.org/specification/
    
    Usage:
      pf-bridge <bridge> [args]   run one bridge (e.g. readme, npm, forge)
      pf-bridge all [flags]       update every file from the projectfile [rw]
      pf-bridge check [flags]     verify declared files match, write nothing [ro]
      pf-bridge to all            write projectfile out to every file [rw]
      pf-bridge from all          read every two-way file back in [rw]
      pf-bridge --list            list installed bridges
      pf-bridge completion SHELL  print completion script (bash|zsh|fish)
    
    [rw] updates files, [ro] only reads or compares. `check` without names
    covers the bridges this project declares; `check <name>…` narrows it,
    `check --all` covers every installed bridge instead.
    
    Shared flags (also accepted after a bridge name):
      --check, --dry-run, --force, --create-all, --fail-on-drift, --offline,
      --quiet, --verbose. Each has a PF_BRIDGE_* env equivalent.
      Drift warns by default; --fail-on-drift makes it fatal.
    
    Tools:
      cache                Manage the local SPDX and include cache
      forge                Push projectfile metadata out to the repository forge
      init                 Scaffold a new projectfile document (prefer pf-cli init)
      release-notes        Render release notes from git
      scan                 Run scanners to refresh projectfile metadata from filesystem signals
    Package manifests:
      composer   [rw]  composer.json — two-way sync
      npm        [rw]  package.json — two-way sync
      pyproject  [rw]  pyproject.toml — two-way sync
      shard      [rw]  shard.yml — two-way sync
    Citation and ownership:
      cff          [rw]  CITATION.cff — two-way sync
      codeowners   [rw]  CODEOWNERS — two-way sync
      funding      [ro]  FUNDING.yml — one-way render
      fundingjson  [ro]  funding.json — one-way render
    Documentation:
      ai-policy     [ro]  AI_POLICY.md — one-way render
      coc           [ro]  CODE_OF_CONDUCT.md — one-way render
      contributing  [ro]  CONTRIBUTING.md — one-way render
      dei           [ro]  DEI.md — one-way render
      fragments     [ro]  FEATURES.md, ROADMAP.md, … assembled from docs/<name>.d fragments (one-way render)
      readme        [ro]  README.md — one-way render
      security      [ro]  SECURITY.md — one-way render
      support       [ro]  SUPPORT.md — one-way render
    Repository setup:
      browserslist     [ro]  .browserslistrc — one-way render
      gitattributes    [ro]  .gitattributes — one-way render
      ignore           [ro]  .claudeignore, .containerignore, .dockerignore, .fdignore, .gitignore, .npmignore, .textlintignore — one-way render
      license          [ro]  LICENSE + LICENSES/<spdx>.txt (one-way render, always overwrite)
      releaserc        [ro]  .releaserc.yaml — one-way render
      vulnerabilities  [ro]  .grype.yaml, .trivyignore, audit-ci.jsonc, osv-scanner.toml — one-way render
      yamllint         [ro]  .yamllint — one-way render
    
    Help per bridge: pf-bridge <bridge> --help
    

    Examples and every command’s help are in Usage.

    Verify

    Check that what you downloaded is what this project published.

    Container image

    The signature proves this project’s CI built and pushed the image; the attestation carries its software bill of materials.

    COSIGN_KEY=https://kiota.ch/damian-buho/metadata/raw/branch/main/keys/ci-cosign-key.pub
    cosign verify --key "$COSIGN_KEY" --insecure-ignore-tlog=true docker.io/damianbuho/projectfile-bridge:3.4.1
    cosign verify --key "$COSIGN_KEY" --insecure-ignore-tlog=true kiota.ch/projectfile/bridge:3.4.1
    cosign verify-attestation --key "$COSIGN_KEY" --insecure-ignore-tlog=true --type cyclonedx docker.io/damianbuho/projectfile-bridge:3.4.1
    cosign verify-attestation --key "$COSIGN_KEY" --insecure-ignore-tlog=true --type cyclonedx kiota.ch/projectfile/bridge:3.4.1
    

    Full changes: https://kiota.ch/projectfile/bridge/compare/3.4.0...3.4.1

    Downloads