Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
# Changelog

## 1.0.12-beta.0 — 2026-10-20
## 1.0.12-beta.0 — 2026-10-22

### Dependencies

- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

56 changes: 30 additions & 26 deletions bun.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions fp-cloud-cli/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

47 changes: 38 additions & 9 deletions osv-scanner.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
#
# Two mechanisms, and the reason to reach for each:
#
# [[IgnoredVulns]] silences ONE advisory by id, and is what everything below
# uses. It is the narrowest thing that works: any OTHER advisory against the
# same package still blocks, including a newly FIXABLE one — which is the
# signal worth keeping, because a fixable finding is one we would act on.
#
# [[PackageOverrides]] silences every advisory against a package, and is
# deliberately NOT used here. It also suppresses fixable findings, so it costs
# exactly the signal above; see SECURITY.md for the narrow case that justifies
# it and the conditions attached. Note the different date key there —
# [[IgnoredVulns]] silences ONE advisory by id, and is what every entry below
# but the last uses. It is the narrowest thing that works: any OTHER advisory
# against the same package still blocks, including a newly FIXABLE one — which
# is the signal worth keeping, because a fixable finding is one we would act on.
#
# [[PackageOverrides]] silences every advisory against a package, and is used
# once, for the pillow entry at the bottom. It also suppresses fixable findings,
# so it costs exactly the signal above; see SECURITY.md for the narrow case that
# justifies it and the conditions attached. Note the different date key there —
# `effectiveUntil`, not `ignoreUntil`.
#
# The scanner matches aliases, so ONE id per advisory is enough — listing a
Expand Down Expand Up @@ -128,3 +128,32 @@ reason = "nltk 3.10.3 (surfaced 2026-09-03, CVSS 8.3). No fixed version. Transit
id = "GHSA-vfj7-8cjw-p6xm"
ignoreUntil = 2026-11-20
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."

# ---------------------------------------------------------------------------
# pillow 12.3.0 — the Python 3.10 slice of sdk/python/uv.lock. A package
# override rather than an id list, because this is the case SECURITY.md keeps
# one for.
#
# Every fix for these advisories is in pillow 13.0.0, which requires Python
# >= 3.11. The SDK still supports 3.10, so the lock forks: 13.0.0 for 3.11 and
# up, and 12.3.0, the last release that installs on 3.10, for 3.10 alone. No
# release fixes that slice and none will: Pillow has dropped 3.10, which reaches
# end of life in October 2026 (PEP 619). The advisories are still arriving —
# 9 on the 2026-10-20 scan, 28 by 2026-10-22 — so an id list would turn this
# gate red on an unrelated PR with every new one.
#
# pillow is transitive via crewai (through pdfplumber) and llama-index-core, in
# the dev/test lockfile only; the SDK declares no runtime dependencies. The
# override is pinned to 12.3.0, so 13.0.0 — what every other supported Python
# resolves — stays fully gated, and any change to the 3.10 slice re-opens it.
# Dropping 3.10 from `requires-python` retires it. Same re-review date as the
# entries above.
# ---------------------------------------------------------------------------

[[PackageOverrides]]
name = "pillow"
version = "12.3.0"
ecosystem = "PyPI"
vulnerability.ignore = true
effectiveUntil = 2026-11-20
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."
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
"nanoid": "3.3.18",
"postcss": "8.5.26",
"eslint-plugin-react-hooks": "7.0.1",
"vite": "8.0.16",
"vite": "8.1.6",
"undici": "7.29.1",
"brace-expansion": "5.0.12",
"sharp": "0.35.5",
Expand Down
9 changes: 8 additions & 1 deletion sdk/python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,15 @@ otel = ["opentelemetry-sdk>=1.39,<2"] # optional SpanExporter / process
# The ceiling keeps crewai on the 1.x API it is written against. Delete this once a
# crewai release allows 1.30: an override replaces crewai's own requirement outright,
# so while it is here uv does not check the mcp version crewai asks for.
#
# The `uv` entry is the same case one level down. crewai depends on crewai-cli, which
# pins `uv~=0.11.6`, and every uv before 0.13.4 carries GHSA-hq85-5cpj-mr62 (its
# bundled CA store trusts an emSign root whose intermediate keys are compromised).
# crewai-cli only shells out to `uv` from its own project commands, which no test here
# runs. The ceiling keeps the CLI it calls on one minor. Delete it once a crewai-cli
# release allows 0.13.4.
[tool.uv]
override-dependencies = ["mcp>=1.30.0,<2"]
override-dependencies = ["mcp>=1.30.0,<2", "uv>=0.13.4,<0.14"]

[tool.setuptools.dynamic]
version = { attr = "failproofai_sdk._version.__version__" }
Expand Down
Loading
Loading