Skip to content

Commit a62c6bf

Browse files
NiveditJaindependabot[bot]claude
authored
[failproofai-legion-926] Combine the three open Dependabot PRs and clear the Supply Chain gate (#926)
* chore(deps): bump certifi from 2026.7.22 to 2026.10.19 in /sdk/python Bumps [certifi](https://github.com/certifi/python-certifi) from 2026.7.22 to 2026.10.19. - [Commits](certifi/python-certifi@2026.07.22...2026.10.19) --- updated-dependencies: - dependency-name: certifi dependency-version: 2026.10.19 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * chore(deps): bump certifi from 2026.7.22 to 2026.10.19 in /fp-cloud-cli Bumps [certifi](https://github.com/certifi/python-certifi) from 2026.7.22 to 2026.10.19. - [Commits](certifi/python-certifi@2026.07.22...2026.10.19) --- updated-dependencies: - dependency-name: certifi dependency-version: 2026.10.19 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * chore(deps-dev): bump vite Bumps the npm_and_yarn group with 1 update in the /sdk/typescript directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 8.3.0 to 8.3.4 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v8.3.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 8.3.4 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> * [failproofai-legion-926] Clear the Supply Chain gate the three open Dependabot PRs could not pass alone OSV-Scanner scans every lockfile in the repo, so #921, #922 and #923 each failed on what the other two fix plus findings no Dependabot PR touches. Their commits are cherry-picked unchanged ahead of this one; this clears the rest: - bun.lock: the vite override 8.0.16 -> 8.1.6 (GHSA-587h-7wmj-h5pm, GHSA-698v-4r3x-3vcv, GHSA-9jrq-w75r-8gcw, GHSA-r825-w8mm-5pxw, GHSA-rq7h-c2jc-7f22), the smallest fixed release. It needs rolldown ~1.1.5, so rolldown 1.0.3 -> 1.1.5 and its platform packages move with it, plus the wasm32-only emnapi/napi-rs helpers that rolldown's wasm binding pins. Spliced in from bun's own resolution of that subtree, because re-resolving the lock moves ~120 unrelated packages; `bun install --frozen-lockfile` accepts it and a plain `bun install` leaves it unchanged. - Cargo.lock: rustls-webpki 0.103.15 -> 0.103.16 (RUSTSEC-2026-0382) and webpki-roots 1.0.9 -> 1.0.10 (RUSTSEC-2026-0381); `cargo update -p`, nothing else moves. - sdk/typescript/package-lock.json: vitest 5.0.1 -> 5.0.5 in range (GHSA-qxg6-89mg-rqv8, GHSA-xp26-3454-mjgp in @vitest/mocker); vite moves on from #921's 8.3.4 to 8.3.5 with it. - sdk/python/uv.lock: uv 0.11.33 -> 0.13.5 (GHSA-hq85-5cpj-mr62) through a second [tool.uv] override, since crewai-cli pins uv~=0.11.6; pillow 12.3.0 -> 13.0.0 for Python 3.11+ (28 advisories). Nothing else moves. - osv-scanner.toml: pillow 13.0.0 requires Python >= 3.11, so the lock's 3.10 slice stays on 12.3.0 with no fixed release to move to. Accepted with a [[PackageOverrides]] pinned to 12.3.0 until 2026-11-20, the case SECURITY.md keeps one for: 9 advisories on the 2026-10-20 scan, 28 by today. OSV-Scanner 2.5.0 with the workflow's scan-args reports "No issues found". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019BPtjtjjA9U2hdwjZikULq --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent f3849de commit a62c6bf

9 files changed

Lines changed: 402 additions & 235 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
# Changelog
22

3-
## 1.0.12-beta.0 — 2026-10-20
3+
## 1.0.12-beta.0 — 2026-10-22
44

55
### Dependencies
66

7+
- Combine the open Dependabot PRs (#921, #922, #923) into one: `certifi` 2026.7.22 → 2026.10.19 (GHSA-6q48-6c7w-9gw2) in `fp-cloud-cli` and the Python SDK's test lockfile, and `vite` 8.3.0 → 8.3.4 in the TypeScript SDK's dev lockfile. The Supply Chain gate scans every lockfile, so none of the three could pass on its own (#926)
8+
- Clear the Supply Chain gate's other findings, which no Dependabot PR covered: the root `vite` override 8.0.16 → 8.1.6 (five advisories), the smallest fixed release, which moves only `rolldown` 1.0.3 → 1.1.5 and its platform packages with it; `rustls-webpki` 0.103.16 and `webpki-roots` 1.0.10 in `Cargo.lock` (RUSTSEC-2026-0382, RUSTSEC-2026-0381); `vitest` 5.0.1 → 5.0.5 in the TypeScript SDK (GHSA-qxg6-89mg-rqv8 and GHSA-xp26-3454-mjgp, in `@vitest/mocker`), which takes `vite` on to 8.3.5; and in the Python SDK's test lockfile, `pillow` 13.0.0 on Python 3.11+ and `uv` 0.11.33 → 0.13.5 (GHSA-hq85-5cpj-mr62), the latter through a second `[tool.uv] override-dependencies` entry because `crewai-cli` pins `uv~=0.11.6` (#926)
9+
- OSV-Scanner: accept `pillow` 12.3.0, the Python 3.10 slice of the Python SDK's test lockfile, with a `[[PackageOverrides]]` entry pinned to that version until 2026-11-20. Every fix for its 28 advisories is in 13.0.0, which requires Python 3.11, and new ones were still arriving, the case `SECURITY.md` keeps an override for. Dropping 3.10 retires it (#926)
710
- Patch `aiohttp` 3.14.3 → 3.14.5 (GHSA-2g87-pp6c-29x5, GHSA-494j-54xm-rwp3, GHSA-5wr8-gcqf-gqf3) in the Python SDK's test lockfile, the finding that turned `main`'s Supply Chain gate and every open Dependabot PR red. It is transitive only (via `llama-index-core`, `instructor` and `kubernetes`), so Dependabot's grouped update never reaches it; 3.14.4 onward requires `yarl>=1.25.1`, so `yarl` moves 1.24.5 → 1.25.1 with it and nothing else changes (#918)
811
- Patch `mcp` 1.28.1 → 1.30.0 (GHSA-84m7-p3x7-pcfv) in the Python SDK's test lockfile, the finding that turned `main`'s Supply Chain gate red. crewai pins `mcp~=1.28.1`, so the fix is a `[tool.uv] override-dependencies` entry in `sdk/python/pyproject.toml`; uv applies it only when resolving `uv.lock`, and the published package's metadata is unchanged (#904)
912
- Remove `sprintf-js` (GHSA-hp3w-g68c-fv3c, no fixed release) from the `nextjs` and `mastra-1` SDK integration fixtures with an `argparse` 2.0.1 override. Both reached it through `@mastra/core` → `gray-matter` → `js-yaml@3` → `argparse@1`, and js-yaml 3 loads `argparse` only from its CLI, which nothing runs; every pin stays put (#904)

‎Cargo.lock‎

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎bun.lock‎

Lines changed: 30 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎fp-cloud-cli/uv.lock‎

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎osv-scanner.toml‎

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
#
1111
# Two mechanisms, and the reason to reach for each:
1212
#
13-
# [[IgnoredVulns]] silences ONE advisory by id, and is what everything below
14-
# uses. It is the narrowest thing that works: any OTHER advisory against the
15-
# same package still blocks, including a newly FIXABLE one — which is the
16-
# signal worth keeping, because a fixable finding is one we would act on.
17-
#
18-
# [[PackageOverrides]] silences every advisory against a package, and is
19-
# deliberately NOT used here. It also suppresses fixable findings, so it costs
20-
# exactly the signal above; see SECURITY.md for the narrow case that justifies
21-
# it and the conditions attached. Note the different date key there —
13+
# [[IgnoredVulns]] silences ONE advisory by id, and is what every entry below
14+
# but the last uses. It is the narrowest thing that works: any OTHER advisory
15+
# against the same package still blocks, including a newly FIXABLE one — which
16+
# is the signal worth keeping, because a fixable finding is one we would act on.
17+
#
18+
# [[PackageOverrides]] silences every advisory against a package, and is used
19+
# once, for the pillow entry at the bottom. It also suppresses fixable findings,
20+
# so it costs exactly the signal above; see SECURITY.md for the narrow case that
21+
# justifies it and the conditions attached. Note the different date key there —
2222
# `effectiveUntil`, not `ignoreUntil`.
2323
#
2424
# The scanner matches aliases, so ONE id per advisory is enough — listing a
@@ -128,3 +128,32 @@ reason = "nltk 3.10.3 (surfaced 2026-09-03, CVSS 8.3). No fixed version. Transit
128128
id = "GHSA-vfj7-8cjw-p6xm"
129129
ignoreUntil = 2026-11-20
130130
reason = "braces 3.0.3 (published 2026-09-18, CVSS 8.7). No fixed version. Dev-only, via @next/eslint-plugin-next -> fast-glob -> micromatch; not shipped and only fed this repo's own glob patterns. Re-review by 2026-11-20."
131+
132+
# ---------------------------------------------------------------------------
133+
# pillow 12.3.0 — the Python 3.10 slice of sdk/python/uv.lock. A package
134+
# override rather than an id list, because this is the case SECURITY.md keeps
135+
# one for.
136+
#
137+
# Every fix for these advisories is in pillow 13.0.0, which requires Python
138+
# >= 3.11. The SDK still supports 3.10, so the lock forks: 13.0.0 for 3.11 and
139+
# up, and 12.3.0, the last release that installs on 3.10, for 3.10 alone. No
140+
# release fixes that slice and none will: Pillow has dropped 3.10, which reaches
141+
# end of life in October 2026 (PEP 619). The advisories are still arriving —
142+
# 9 on the 2026-10-20 scan, 28 by 2026-10-22 — so an id list would turn this
143+
# gate red on an unrelated PR with every new one.
144+
#
145+
# pillow is transitive via crewai (through pdfplumber) and llama-index-core, in
146+
# the dev/test lockfile only; the SDK declares no runtime dependencies. The
147+
# override is pinned to 12.3.0, so 13.0.0 — what every other supported Python
148+
# resolves — stays fully gated, and any change to the 3.10 slice re-opens it.
149+
# Dropping 3.10 from `requires-python` retires it. Same re-review date as the
150+
# entries above.
151+
# ---------------------------------------------------------------------------
152+
153+
[[PackageOverrides]]
154+
name = "pillow"
155+
version = "12.3.0"
156+
ecosystem = "PyPI"
157+
vulnerability.ignore = true
158+
effectiveUntil = 2026-11-20
159+
reason = "pillow 12.3.0 is only the Python 3.10 slice of sdk/python/uv.lock: every fix is in 13.0.0, which requires Python >= 3.11 and is what 3.11+ resolves. Transitive via crewai and llama-index-core, dev/test lockfile only. Re-review by 2026-11-20."

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
"nanoid": "3.3.18",
118118
"postcss": "8.5.26",
119119
"eslint-plugin-react-hooks": "7.0.1",
120-
"vite": "8.0.16",
120+
"vite": "8.1.6",
121121
"undici": "7.29.1",
122122
"brace-expansion": "5.0.12",
123123
"sharp": "0.35.5",

‎sdk/python/pyproject.toml‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,15 @@ otel = ["opentelemetry-sdk>=1.39,<2"] # optional SpanExporter / process
8383
# The ceiling keeps crewai on the 1.x API it is written against. Delete this once a
8484
# crewai release allows 1.30: an override replaces crewai's own requirement outright,
8585
# so while it is here uv does not check the mcp version crewai asks for.
86+
#
87+
# The `uv` entry is the same case one level down. crewai depends on crewai-cli, which
88+
# pins `uv~=0.11.6`, and every uv before 0.13.4 carries GHSA-hq85-5cpj-mr62 (its
89+
# bundled CA store trusts an emSign root whose intermediate keys are compromised).
90+
# crewai-cli only shells out to `uv` from its own project commands, which no test here
91+
# runs. The ceiling keeps the CLI it calls on one minor. Delete it once a crewai-cli
92+
# release allows 0.13.4.
8693
[tool.uv]
87-
override-dependencies = ["mcp>=1.30.0,<2"]
94+
override-dependencies = ["mcp>=1.30.0,<2", "uv>=0.13.4,<0.14"]
8895

8996
[tool.setuptools.dynamic]
9097
version = { attr = "failproofai_sdk._version.__version__" }

0 commit comments

Comments
 (0)