Skip to content

Resolve open Dependabot alerts by upgrading vulnerable dependencies - #41

Merged
emiehling merged 3 commits into
generative-computing:mainfrom
emiehling:fix/dependabot-alerts
Nov 3, 2026
Merged

emiehling merged 3 commits into
generative-computing:mainfrom
emiehling:fix/dependabot-alerts

Conversation

@emiehling

@emiehling emiehling commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator
  • Update uv.lock to versions that resolve 116 of the 118 open Dependabot alerts: pillow 13.0.0, virtualenv 21.15.2, pyjwt 2.15.1, vllm 0.32.0, mcp 2.3.0, jupyterlab 4.6.5, notebook 7.6.4, tornado 6.6, filelock 4.2.7, urllib3 2.8.0, certifi 2026.10.23, dnspython 2.9.1, multidict 6.9.1, nbconvert 7.17.2, nltk 3.10.4, opentelemetry-api 1.45.2, accelerate 1.15.0, and pytest 9.2.0
  • Raise the vllm extra's floor to vllm>=0.32.0 and trl[vllm]>=1.17.0 (trl releases before 1.17 cap vLLM below the patched versions), and the pytest dev pin to >=9.0.3,<10.0.0
  • Install mergekit from PyPI (>=0.1.5,<0.2.0) instead of the pinned git commit. Release 0.1.5 relaxes the accelerate~=1.6.0, pydantic~=2.10, and safetensors~=0.5 pins, which removes the reason for the merging extra's [tool.uv] conflicts
  • Drop the merging conflicts and add merging to the all extra. The lock now resolves one version of each package across every extra (one torch, 2.13.0)
  • Remove the ppo control and its tests, since trl removed PPOTrainer in 1.13.0
  • Compile json-schema constraints with compact separators (",", ":") on the Hugging Face path. vLLM 0.32 passes these separators to xgrammar under disable_any_whitespace, and the Hugging Face path now produces the same output ({"ok":true} rather than {"ok": true})
  • Default CPO's trust_remote_code to False. The default encoder (nomic-ai/nomic-embed-text-v1.5) loads through the NomicBertModel class in transformers, since its Hub modeling code calls get_extended_attention_mask, which transformers 5.17 removed. The embeddings are identical to those from the Hub code on transformers 5.16
  • Lock vllm-hook-plugins to b479aed on steerability-challenge (Register the hook routes on the vLLM launcher app builder IBM/vLLM-Hook#58). vLLM 0.29 moved the app builder that vllm serve calls, and the earlier plugin commit left /v1/hook/capabilities and /v1/hook/artifacts unregistered, which made the vllm-serve backend with hook_plugin=True fail to start
  • AGENTS.md, the installation page, and the controls concept page describe the all extra and the TRL wrappers without ppo

Two setuptools advisories remain open (GHSA-h35f-9h28-mq5c and GHSA-xmj3-9gf7-h52w). Every patched vLLM release requires setuptools<81, and both fixes are in 83.0.0 or later. The first affects sdist builds on macOS and the second affects legacy wheel installation on Windows.

Tests: the full suite passes on CPU (-m "not network") and on an A100 80GB with the network tests included (vLLM 0.32.0 offline engine and plugin engine). A linear and a TIES merge through the mergekit control run with mergekit 0.1.5. All 34 example notebooks run end to end on A100/H100 GPUs, including recipes/vllm_serve.ipynb against the locked plugin commit.

- Upgrade the locked versions of pillow, virtualenv, pyjwt, vllm, mcp,
  jupyterlab, notebook, tornado, filelock, urllib3, certifi, dnspython,
  multidict, nbconvert, nltk, opentelemetry-api, accelerate, and pytest
  past their advisories
- Raise the vllm floor to 0.32.0 and trl[vllm] to 1.17.0, and the pytest
  dev pin to >=9.0.3,<10.0.0
- Install mergekit from PyPI (>=0.1.5,<0.2.0), which relaxes its accelerate,
  pydantic, and safetensors pins; drop the `merging` extra conflicts and add
  `merging` to `all`
- Remove the `ppo` control, since trl removed `PPOTrainer` in 1.13.0
- Compile json-schema constraints with compact separators on the Hugging Face
  path, matching the vLLM engine's output under `disable_any_whitespace`

Two setuptools advisories (GHSA-xmj3-9gf7-h52w, GHSA-h35f-9h28-mq5c) remain
open because every patched vllm release requires setuptools<81.

Signed-off-by: Erik Miehling <emiehling@gmail.com>
`trust_remote_code` now defaults to False for CPO. The default encoder
(`nomic-ai/nomic-embed-text-v1.5`) loads through the `NomicBertModel` class
in transformers. Its Hub modeling code calls `get_extended_attention_mask`,
which transformers 5.17 removed.

Signed-off-by: Erik Miehling <emiehling@gmail.com>
…n vLLM 0.29+

`steerability-challenge` now includes IBM/vLLM-Hook#58, which patches the
launcher app builder that `vllm serve` calls since vLLM 0.29. Without it,
`/v1/hook/capabilities` and `/v1/hook/artifacts` return 404 and the
`vllm-serve` backend with `hook_plugin=True` cannot start.

Signed-off-by: Erik Miehling <emiehling@gmail.com>
@emiehling
emiehling merged commit c14733e into generative-computing:main Nov 3, 2026
1 check passed
@emiehling
emiehling deleted the fix/dependabot-alerts branch November 3, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant