v0.4.5
Supply-chain transparency
- SBOMs:
iris-npm-sbom.spdx.json+iris-docker-sbom.spdx.json(attached below). Both are SPDX 2.3 JSON, cover direct + transitive dependencies. - SBOM signatures: each SBOM has a companion
.cosign.bundle(Sigstore bundle — signature + cert + Rekor entry) attached to this release. Verify with:cosign verify-blob \ --bundle iris-npm-sbom.spdx.json.cosign.bundle \ --certificate-identity-regexp='https://github.com/iris-eval/mcp-server' \ --certificate-oidc-issuer='https://token.actions.githubusercontent.com' \ iris-npm-sbom.spdx.json - npm provenance: published with
--provenance(verifiable vianpm audit signaturesor on the package page). - Docker signature: image signed with cosign keyless (Sigstore). Verify with:
cosign verify ghcr.io/iris-eval/mcp-server:v0.4.5 \ --certificate-identity-regexp='https://github.com/iris-eval/mcp-server' \ --certificate-oidc-issuer='https://token.actions.githubusercontent.com' - Build attestation: both the npm SBOM and Docker image manifest carry GitHub-signed build-provenance attestations. Inspect with
gh attestation verifyorcosign verify-attestation.
What's Changed
- fix(release): cosign v4 sign-blob — use --bundle (SBOM signing was broken) by @irparent in #198
- chore(deps): bump esbuild and tsx in /packages/init by @dependabot[bot] in #196
- deps(dashboard): override esbuild 0.28.1 (clears last esbuild alerts) by @irparent in #199
- ci: bump the docker group across 1 directory with 4 updates by @dependabot[bot] in #185
- fix(ci): lighthouse median-of-3 to kill the flake (#193) by @irparent in #200
- test(eval): property-based fuzz over EvalEngine (closes Scorecard Fuzzing) by @irparent in #201
- chore(truthbase): regen test count for the fuzz test (vitestRoot 423→424) by @irparent in #202
- fix(ci): nightly real-LLM smoke skips gracefully without OPENAI_API_KEY by @irparent in #203
- deps(dashboard): bump undici from 7.25.0 to 7.28.0 in /dashboard by @dependabot[bot] in #217
- ci: bump vite from 8.0.9 to 8.0.16 in /packages/init by @dependabot[bot] in #216
- deps(website): bump js-yaml from 4.1.1 to 4.3.0 in /website by @dependabot[bot] in #221
- feat(discoverability): llms.txt + llms-full.txt + tool-agnostic client matrix by @irparent in #229
- fix(deps): bump transitive @babel/core to 7.29.7 (closes final 2 Dependabot alerts) by @irparent in #230
- feat(init): universal installer covers all nine clients (zero-tooling setup) by @irparent in #231
- ci: OIDC release workflow for @iris-eval/init by @irparent in #232
- ci: one-shot bootstrap publish for @iris-eval/init by @irparent in #233
- fix(init): local vitest config for isolated CI checkouts by @irparent in #234
- feat(plugin): Claude Code plugin + installable marketplace by @irparent in #235
- feat(website): llms.txt surfaces advertise the Claude Code plugin by @irparent in #236
- fix(claims): pattern counts told the truthbase a lie — 12/14/18 → 10/13/17 by @irparent in #244
- fix(website): retire public version + manifest drift — truthbase drives what visitors see by @irparent in #245
- fix(llms): llms-full.txt quoted the inflated pattern counts — 12/14/18 → 10/13/17 by @irparent in #246
- chore(audit): coverage gate enforced + init DX + E2E truthbase capture + compare OG set complete by @irparent in #247
- fix(claims): Phase E completion — every content surface truthbase-aligned, scanner extended to see them all by @irparent in #248
- chore(website): erase the 26-error lint debt + add the missing website CI gate by @irparent in #249
- fix(ci): end the self-deadlock — resolve 4 HIGH advisories + remove the gate that blocked its own fix by @irparent in #271
- fix(citation-verify): IPv6 SSRF guard was inert for address literals by @irparent in #269
- chore(ci): pin npm in release workflows instead of installing @latest by @irparent in #270
- deps(website): bump postcss and next in /website by @dependabot[bot] in #274
- deps: bump hono from 4.12.25 to 4.13.1 by @dependabot[bot] in #267
- deps(dashboard): bump postcss from 8.5.15 to 8.5.26 in /dashboard by @dependabot[bot] in #272
- chore(deps-dev): bump postcss from 8.5.15 to 8.5.26 in /packages/init by @dependabot[bot] in #273
- deps(dashboard): bump undici from 7.28.0 to 7.29.0 in /dashboard by @dependabot[bot] in #266
- deps(dashboard): bump brace-expansion from 5.0.5 to 5.0.7 in /dashboard by @dependabot[bot] in #255
- deps: bump body-parser from 2.2.2 to 2.3.0 by @dependabot[bot] in #256
- deps(website): bump sharp from 0.34.5 to 0.35.0 in /website by @dependabot[bot] in #258
- fix(dashboard): bump react-router-dom to 7.18.2 — closes 4 of 5 advisories by @irparent in #279
- deps(website): bump js-yaml from 4.3.0 to 4.3.1 in /website by @dependabot[bot] in #275
- fix(dashboard): override ws to ^8.21.0 (GHSA-96hv-2xvq-fx4p) by @irparent in #280
- fix(website): pin both brace-expansion lines (GHSA-3jxr-9vmj-r5cp) by @irparent in #281
- fix(rules): custom rules built from our own docs never worked by @irparent in #282
- deps(website): bump the react group across 1 directory with 4 updates by @dependabot[bot] in #264
- deps(dashboard): bump @storybook/react-vite from 10.4.3 to 10.4.6 in /dashboard by @dependabot[bot] in #213
- deps: bump express-rate-limit from 8.5.2 to 8.6.2 by @dependabot[bot] in #253
- deps: bump tsx from 4.22.4 to 4.23.5 by @dependabot[bot] in #252
- deps(dashboard): bump vitest from 4.1.5 to 4.1.9 in /dashboard by @dependabot[bot] in #212
- deps: bump better-sqlite3 from 12.10.0 to 12.11.1 by @dependabot[bot] in #219
- fix(transport): MCP HTTP transport had no Origin validation (DNS rebinding) by @irparent in #283
- test: gate that every published rule-config example actually deploys by @irparent in #284
- chore(ci): drop the global npm install from release jobs (Scorecard pinned-deps) by @irparent in #285
- docs(security): record why the react-router advisory does not apply by @irparent in #287
- fix(deps): force @hono/node-server v2 — root audit reaches 0 vulnerabilities by @irparent in #288
- fix(dashboard): 404s leaked the absolute install path (CWE-209) by @irparent in #286
- deps: bump @hono/node-server and @modelcontextprotocol/sdk by @dependabot[bot] in #277
- deps: bump fast-check from 4.8.0 to 4.9.0 by @dependabot[bot] in #251
- deps: bump helmet from 8.2.0 to 8.3.0 by @dependabot[bot] in #250
- deps: bump the linting group across 1 directory with 4 updates by @dependabot[bot] in #225
- deps: bump @playwright/test from 1.60.0 to 1.61.1 by @dependabot[bot] in #223
- docker: bump node from
2bdb65etoa0b9bf0by @dependabot[bot] in #215 - deps(dashboard): bump lucide-react from 1.14.0 to 1.23.0 in /dashboard by @dependabot[bot] in #210
- deps: bump @types/node from 25.9.2 to 26.1.1 in the types group across 1 directory by @dependabot[bot] in #209
- deps: bump the testing group across 1 directory with 2 updates by @dependabot[bot] in #207
- deps(dashboard): bump @storybook/addon-docs from 10.3.5 to 10.5.6 in /dashboard by @dependabot[bot] in #206
- chore(docker): use npm ci for the dashboard build (Scorecard pinned-deps) by @irparent in #290
- ci: batch the pinned-action bumps Dependabot could not land by @irparent in #291
- fix(dashboard): migrate to react-router v8 — closes the last Dependabot alert by @irparent in #292
- deps(website): bump eslint-config-next from 16.2.6 to 16.3.0 in /website in the nextjs group across 1 directory by @dependabot[bot] in #289
- deps(website): bump @radix-ui/react-tabs from 1.1.13 to 1.1.21 in /website by @dependabot[bot] in #238
- deps(website): bump tailwindcss from 4.3.0 to 4.3.3 in /website by @dependabot[bot] in #237
- deps(website): bump @types/node from 25.8.0 to 26.1.2 in /website in the types group across 1 directory by @dependabot[bot] in #227
- chore(deps): zod 3.25.76 → 4.4.3 by @irparent in #293
- fix(dashboard): override brace-expansion to ^5.0.9 — clears the last 2 Scorecard vulns by @irparent in #294
- release: v0.4.5 — security release by @irparent in #295
Full Changelog: v0.4.4...v0.4.5