Skip to content

Bump dependencies to fix 47 Dependabot security alerts#4410

Merged
rjpower merged 6 commits intomainfrom
dep-security-bumps
Apr 21, 2026
Merged

Bump dependencies to fix 47 Dependabot security alerts#4410
rjpower merged 6 commits intomainfrom
dep-security-bumps

Conversation

@rjpower
Copy link
Copy Markdown
Collaborator

@rjpower rjpower commented Apr 4, 2026

Bump direct dep floor pins (ray 2.54, black 26.3.1, markdownify 0.14.1,
cryptography 46.0.6, requests 2.33, deepdiff 8.6.2, flask 3.1.3,
PyJWT 2.12, lxml-html-clean 0.4.4) and run uv lock --upgrade to pull
in transitive fixes for authlib, litellm, aiohttp, nltk, gradio,
tornado, orjson, cbor2, pyasn1, pygments, werkzeug, and others.
Remove unnecessary pydantic>=2.12.5 pin from iris.

Remaining unfixable: pillow (trackio caps <12), xgrammar (vllm-tpu
pins 0.1.27), diskcache/sqlitedict (no upstream fix), lz4_flex (cargo
already at latest compatible).

@rjpower rjpower added the agent-generated Created by automation/agent label Apr 4, 2026
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 4, 2026

Claude finished @rjpower's task in 1m 11s —— View job


PR Review: Dependency Security Bumps

  • Review pyproject.toml changes
  • Review Cargo.lock changes
  • Verify no risky dependency changes
  • Post review summary

Looks good overall — straightforward security bumps with a clean Cargo.lock prune. A few observations:

Python dependency changes (4 pyproject.toml files):

Package Old New Notes
ray ==2.53.0 ==2.54.0 Pinned across fray, levanter, marin — consistent ✅
flask unpinned / missing >=3.1.3 Security fix
cryptography >=45 >=46.0.6 Security fix
deepdiff unpinned >=8.6.2 Pinned in levanter + marin
requests unpinned >=2.33.0 Security fix
PyJWT >=2.8.0 >=2.12.0 Security fix
markdownify ==0.12.1 >=0.14.1 Exact pin → floor pin (see below)
black ==25.9.0 >=26.3.1 Exact pin → floor pin (see below)
pydantic (iris) >=2.12.5 >=2.0 Relaxed — removal of unnecessary pin
lxml-html-clean >=0.4.4 New explicit dep

Two items worth a second look:

  1. markdownify changed from ==0.12.1 to >=0.14.1 — The old exact pin suggests there may have been a reason to lock this version (e.g. output format differences affecting snapshots/tests). If the test suite passes with the new version, this is fine. If there are snapshot tests for HTML→Markdown conversion, worth confirming they still match.

  2. black changed from ==25.9.0 to >=26.3.1 — Note that infra/pre-commit.py hardcodes uvx black@25.9.0 (line 175), so the actual formatting version used by CI is still 25.9.0 regardless of this pin. The pyproject.toml pin only affects uv run black invocations. This mismatch is harmless now but could cause confusion later — consider either bumping the hardcoded version in pre-commit.py to match, or keeping the exact pin in pyproject.toml.

Rust Cargo.lock: Clean removal of unused transitive deps (arrow-csv, arrow-json, csv, serde/serde_json, indexmap, simdutf8, etc.) and a minor lz4_flex bump (0.12.0 → 0.12.1). This just trims the dependency tree — no concerns.

Verdict: LGTM with the caveat on the markdownify and black pin changes above. If CI (tests + lint) passes, this is safe to merge.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 19564c3542

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread lib/marin/pyproject.toml
@rjpower rjpower requested a review from dlwh April 4, 2026 02:20
@rjpower rjpower requested a review from yonromai April 21, 2026 16:31
@rjpower
Copy link
Copy Markdown
Collaborator Author

rjpower commented Apr 21, 2026

@claude pls rebase and fix conflicts

@rjpower rjpower enabled auto-merge (squash) April 21, 2026 16:31
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 21, 2026

Claude finished @rjpower's task in 6m 56s —— View job


Rebased dep-security-bumps onto main

  • Unshallow the runner checkout (needed — base was 285 commits behind main)
  • Rebase the 6 branch commits onto origin/main (b42d3d1)
  • Resolve lib/marin/pyproject.toml conflict: kept main's marin-fray / marin-rigging renames (drop old fray, rigging, ddsketch, floret, lz4) while applying the branch's version bumps (deepdiff>=8.6.2, flask>=3.1.3, markdownify>=0.14.1, lxml-html-clean>=0.4.4)
  • Regenerate uv.lock via uv lock after each conflicted step (4 steps); yielded clean upgrades — ray 2.53→2.54, cryptography 46.0.5→46.0.7, deepdiff 8.6.1→9.0.0, markdownify 0.12.1→1.2.2, flask 3.1.2→3.1.3, pyjwt 2.10.1→2.12.1, requests 2.32.5→2.33.1, black 25.9.0→26.3.1, etc.
  • Preserve the other 5 commits from the branch (markdownify 1.x migration, snapshots, chex, optax<0.2.7 pin, tensorstore<0.1.82 pin)
  • Force-push with --force-with-lease07f14df71…8065f0181

Testing

  • ./infra/pre-commit.py --all-files --fixOK (ruff, black, pyrefly, license headers, markdown pre-commit all pass)
  • uv run --package marin pytest tests/test_markdown.py10 passed
  • uv run --package marin pytest tests/ -k "snapshot or markdown or resiliparse or wiki" --ignore=tests/integration68 passed, 4 skipped

Resulting branch history

8065f0181 Pin tensorstore<0.1.82 to avoid zarr3 S3/R2 StorageGeneration regression
2dd40d7f4 Pin optax<0.2.7 to avoid tree flatten_up_to regression
f339ab7ad Update markdown test expectations for markdownify 1.x
446d2eae7 Add chex to levanter's main deps (optax no longer pulls it in)
d2d2777d8 Migrate MyMarkdownConverter to markdownify 1.x API
80b964532 Bump dependencies to fix 47 Dependabot security alerts
b42d3d19c [iris] docs: lead §Connecting with --cluster auto-tunnel (#5001) ← origin/main

Note: I did not bump the hardcoded uvx black@25.9.0 in infra/pre-commit.py as flagged in the earlier code review — that's orthogonal to the rebase and should be addressed separately if desired.
· branch

rjpower added 6 commits April 21, 2026 16:35
Bump direct dep pins (ray 2.54, black 26.3.1, markdownify 0.14.1,
cryptography 46.0.6, requests 2.33, deepdiff 8.6.2, flask 3.1.3,
PyJWT 2.12, lxml-html-clean 0.4.4) and run uv lock --upgrade to pull
in transitive fixes for authlib, litellm, aiohttp, nltk, gradio,
tornado, orjson, cbor2, pyasn1, pygments, werkzeug, and others.
Remove unnecessary pydantic>=2.12.5 pin from iris.
Update all convert_* signatures from convert_as_inline to parent_tags,
rewrite process_tag to match upstream's new signature, and regenerate
snapshot expected outputs for minor formatting differences.
optax dropped its chex dependency in the latest version, but levanter's
optim modules import chex directly. Move chex from test-only to main
dependencies so it's available in --no-default-groups installs.
Markdownify 1.x no longer appends trailing newlines to single-element
outputs and changed nested list indentation from 4-space to flat.
optax 0.2.8 has a bug where its optimizer state contains None entries
that jax.tree.map's flatten_up_to no longer accepts as tree prefixes,
breaking gradient updates in test_hf_gpt2_serialize.
tensorstore 0.1.82 has a bug causing "Malformed StorageGeneration"
errors when reading zarr3 arrays from S3-compatible storage (R2),
breaking the cw-ci-test integration pipeline.
@claude claude Bot force-pushed the dep-security-bumps branch from 07f14df to 8065f01 Compare April 21, 2026 16:38
Copy link
Copy Markdown
Contributor

@yonromai yonromai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@rjpower rjpower merged commit f6ba7e6 into main Apr 21, 2026
43 of 44 checks passed
@rjpower rjpower deleted the dep-security-bumps branch April 21, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-generated Created by automation/agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants